coreapplicationuis/SysAp/Src/SysApAppUi.cpp
author hgs
Tue, 29 Jun 2010 10:40:11 +0300
changeset 46 eea20ed08f4b
parent 29 6a787171e1de
child 51 50b444048a8d
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
21
c4cbaa4fb734 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
     2
* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). 
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:  CSysApAppUi implementation.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
// INCLUDES
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    19
#include <startupdomainpskeys.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    20
#include "sysapappui.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    21
#include "coreapplicationuisprivatepskeys.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    22
#include <HbDeviceMessageBoxSymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    23
//#include <hbdevicepowermenusymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    24
#include <sacls.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    25
#include <featmgr.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    26
#include <DevEncProtectedPSKey.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    27
#include <ctsydomainpskeys.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    28
#include <secuisystemlock.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    29
#include <apgtask.h>
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <hwrmpowerstatesdkpskeys.h>
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    31
#include <wlaninternalpskeys.h> 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    32
#include <HbDeviceNotificationDialogSymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    33
//#include <HbDeviceInputDialogSymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    34
#include <hbsymbianvariant.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    35
//#include <hbtextresolversymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    36
#include <UikonInternalPSKeys.h>
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    38
//#include "SysApWsClient.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    39
#include "SysApFeatureManager.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    40
#include "SysApNspsHandler.h"
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#include "SysApPubSubObserver.h"
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    42
#include "sysapdefaultkeyhandler.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    43
#include "SysApStartupController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    44
#include "MSysApOfflineModeController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    45
#include "SysApCenRepController.h"
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#include "sysapcenreplightsettingsobserver.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
#include "SysApCenRepLogsObserver.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
#include "SysApCenRepBTObserver.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
#include "SysApCenRepHacSettingObserver.h"
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    50
#include "sysapaudioroutingobserver.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    51
#include "sysapbatteryinfocontroller.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    52
#include "SysApSimChanged.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    53
#include "MSysApBtSapController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    54
#include "MSysApBtController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    55
#include "MSysApUsbIndicator.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    56
//#include <hbindicatorsymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    57
//#include <psmclient.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    58
//#include <psmsettings.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    59
#include "sysapkeymanagement.h"
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
#include "SysApShutdownImage.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
#include "SysApKeySndHandler.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    63
#include <settingsinternalcrkeys.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    64
#include <keyguardaccessapi.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    65
#include <eikdef.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    66
#include <eikenv.h>
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    68
class CHbSymbianVariant;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
const TInt KModifierMask( 0 );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
_LIT_SECURITY_POLICY_PASS(KAlwaysPassPolicy);
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
_LIT_SECURITY_POLICY_C1(KWriteDeviceDataPolicy, ECapabilityWriteDeviceData);
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    72
const TInt KDelayBeforeNextScanningRound( 1000000 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    73
/*
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    74
_LIT(KPsmPlugin,"com.nokia.hb.powersavemodeplugin/1.0");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    75
_LIT(KPsm,"PSM");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    76
_LIT(KCharging,"Charging");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    77
_LIT(KPsmlocalisationfile, "powermanagement_");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    78
_LIT(KtsfilePath, "z:/resource/qt/translations/");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    79
_LIT(KlowbatteryIcon,"qtg_small_bt_low_battery.svg");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    80
_LIT(KbatteryFullIcon,"qtg_status_battery.svg");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    81
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    82
*/
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
// ============================ MEMBER FUNCTIONS ==============================
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
// CSysApAppUi::CSysApAppUi()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    90
CSysApAppUi::CSysApAppUi()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    91
    :iSysApShutdownImage(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    92
     iPowerMenuDialog(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    93
     iDeviceLockEnabled(EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    94
     iKeyLockEnabled(EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    95
     iPowerKeyPopupMenuActive(EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    96
     iResourcesFreed (EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    97
     iShutdownStarted (EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    98
     iSysApAudioRoutingObserver (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    99
     iSysApBatteryInfoController (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   100
     iSysApPsmController(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   101
     iSapTimer (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   102
     iSysApCenRepLogsObserver (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   103
     iSysApUsbIndicatorController(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   104
     iKeyguardController (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   105
     iKeyLockOnBeforeCall (EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   106
     iCheckLongPowerKeyEvent (EFalse)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   107
	{
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   108
	TRACES( RDebug::Print( _L("CSysApAppUi::CSysApAppUi()") ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
// CSysApAppUi::ConstructL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
void CSysApAppUi::ConstructL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: START") ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   118
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying BaseConstructL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   119
    BaseConstructL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: BaseConstructL() OK") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
    iEikonEnv->SetSystem( ETrue );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
    iEikonEnv->WsSession().ComputeMode( RWsSession::EPriorityControlDisabled );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   125
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
    RThread().SetProcessPriority( EPriorityForeground );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   127
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
    TInt mode;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
    User::LeaveIfError( RProperty::Get( KPSUidStartup, KPSGlobalStartupMode, mode ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   130
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: KPSGlobalStartupMode = %d"), mode ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   131
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   132
    //SysAp needs to capture PowerKey events because it handles all functionality related to that
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   133
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CEikApplication::RootWin()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   134
    RWindowGroup groupWin = iCoeEnv->RootWin();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   135
    User::LeaveIfError ( iCapturedEKeyPowerOff = groupWin.CaptureKey( EKeyPowerOff, KModifierMask, KModifierMask ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   136
    User::LeaveIfError ( iCapturedEKeyPowerOffUpAndDowns = groupWin.CaptureKeyUpAndDowns( EStdKeyDevice2, KModifierMask, KModifierMask ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   137
     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   138
    TRACES ( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApDefaultKeyHandler::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   139
    iSysApDefaultKeyHandler = CSysApDefaultKeyHandler::NewL(*this);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   140
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   141
    // Define P&S keys "owned" by SysAp
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   142
    RProperty::Define( KPSUidUikon, KUikMMCInserted, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   143
    //initially assuming that the memory card is not inserted
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   144
    RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   145
    TDriveInfo driveInfo;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   146
    TInt driveNumber; 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   147
    TInt err;    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   148
    RFs& fileServer = iEikonEnv->FsSession();  
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   149
    for ( driveNumber = EDriveD; driveNumber < EDriveZ; driveNumber++ )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   150
         {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   151
      err = fileServer.Drive(driveInfo,driveNumber);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   152
          if(driveNumber == EDriveF && err == KErrNone && driveInfo.iType == EMediaHardDisk &&  driveInfo.iDriveAtt & KDriveAttRemovable)     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   153
            {     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   154
            TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: err = %d, driveInfo.iType = %d, driveInfo.iDriveAtt %d, KDriveAttRemovable = %d "),err,driveInfo.iType,driveInfo.iDriveAtt,KDriveAttRemovable) );     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   155
            RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   156
                break;  // Memory card drive found...     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   157
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   158
         }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   159
           
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApFeatureManager::NewL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
    iSysApFeatureManager = CSysApFeatureManager::NewL();
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   162
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
    // Setup USB charging detector
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   164
     iSysApUsbChargerDetector.EnableUsbCharging(
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   165
         iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   166
         iSysApFeatureManager->Supported( KSysApFeatureIdUsbChargingWithoutReminderNotes ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   167
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApPubSubObserver::NewL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
    iSysApPubSubObserver = CSysApPubSubObserver::NewL( *this );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   170
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsPoCIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsPoCIndicator, ECoreAppUIsPocIndicatorUninitialized );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsPoCMissedIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsPoCMissedIndicator, ECoreAppUIsPocMissedIndicatorUninitialized );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
    // initial value won't be set to KCoreAppUIsUSBFileTransfer, because UsbMscPersonality-plugin may also define it if USB cable is connected during boot
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
    // remove this definition after all clients have taken the USB personality ids in use
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsUSBFileTransfer, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsVideoSharingIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsVideoSharingIndicator, ECoreAppUIsVideoSharingIndicatorUninitialized );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsHideAlarm, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsDisableKeyguard, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsSoftReject, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsUipInd, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMessageToneQuit, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsNspsRawKeyEvent, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsLightsRawKeyEvent, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMmcRemovedWithoutEject, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsAlarmLightActive, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsVTForcedLightsOn, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsSSForcedLightsOn, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsATCForcedLightsOn, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsControl, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsTarmIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMtvRecStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMtvDvbhStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsNewEmailStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
    // Initialize P&S keys "owned" by SysAp
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsHideAlarm, ECoreAppUIsHideAlarmUninitialized );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   203
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   204
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApAccessoryObserver::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   205
    iSysApAccessoryObserver = CSysApAccessoryObserver::NewL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   206
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   207
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApCenRepController::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   208
    iSysApCenRepController = CSysApCenRepController::NewL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   209
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   210
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApCenRepLightSettingsObserver::NewL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   211
    iSysApCenRepLightSettingsObserver = CSysApCenRepLightSettingsObserver::NewL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   212
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   213
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApCenRepBtObserver::NewL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   214
    iSysApCenRepBtObserver = CSysApCenRepBtObserver::NewL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   215
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApStartupController::NewL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    iSysApStartupController = CSysApStartupController::NewL( *this, iSysApFeatureManager->OfflineModeSupported() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   219
    iActiveProfileBeforeOfflineMode = iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApProfileBeforeOfflineMode );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   220
           
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   221
    iSysApFeatureManager->FeatureVariationCheckDone();        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   222
    // iHbIndicatorSymbian = CHbIndicatorSymbian::NewL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   223
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApLightsController::NewL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
    iSysApLightsController = CSysApLightsController::NewL( *this,
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
                                                           iSysApCenRepLightSettingsObserver->GetLightsTimeout(),
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
                                                           iSysApFeatureManager->CoverDisplaySupported() );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   228
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   229
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL : trying CreateSysApOfflineModeControllerL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   230
    iSysApOfflineModeController = CreateSysApOfflineModeControllerL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   231
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   232
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL : trying DoInitialSwStateCheckL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   233
    iSysApStartupController->DoInitialSwStateCheckL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   234
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   235
    TRACES( RDebug::Print( _L("CCSysApAppUi::ConstructL  trying CSysApCenRepHacSettingObserver::NewL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   236
    iSysApCenRepHacSettingObserver = CSysApCenRepHacSettingObserver::NewL( *this ); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   237
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
    //Instantiate the KEF plugin manager
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   239
    //Trap constuction, since Sysap may live without iSysApKeyManagement
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
    TRAPD(keyManagementErr, iSysApKeyManagement=CSysApKeyManagement::NewL(CCoeEnv::Static()->RootWin(), *this));
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    if (keyManagementErr)
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   243
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   244
        TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL : CSysApKeyManagement::NewL returns error=%d"), keyManagementErr ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   245
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   246
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
    // Initialize animdll for handling side volume keys
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
    // (needed before normal mode in case emergency number is dialed from PIN query)
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
    iSysApKeySndHandler = CSysApKeySndHandler::NewL(iEikonEnv->WsSession());
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   250
    iKeyguardController = CKeyguardAccessApi::NewL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApShutdownImage::NewL()") ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   252
    iSysApShutdownImage = CSysApShutdownImage::NewL();//NULL; //
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   253
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
    // Initialize nsps handler. Needed for proper lights control during PIN query.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApNspsHandler::NewL") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
    iSysApNspsHandler = CSysApNspsHandler::NewL( iEikonEnv->WsSession(), iSysApShutdownImage->ShutdownCoeControlWindow() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   258
    RProperty::Define( KPSUidCoreApplicationUIs,KCoreAppUIsPowerMenuCustomDialogStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   259
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsPowerMenuCustomDialogStatus, ECoreAppUIsPowerMenuCustomDialogUninitialized );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   260
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   261
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   262
                    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   263
    // TBool result = HbTextResolverSymbian::Init(KPsmlocalisationfile, KtsfilePath);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   264
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   265
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: END") ) );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   266
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   267
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   268
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   269
// CSysApAppUi::FreeResources()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   270
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   271
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   272
void CSysApAppUi::FreeResources()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   273
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   274
    TRACES( RDebug::Print( _L("CSysApAppUi::FreeResources") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   275
    delete iSysApBatteryInfoController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   276
    delete iSysApPsmController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   277
    //delete iVariantAccState; 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   278
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   279
    delete iSysApAudioRoutingObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   280
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   281
    if ( iSapTimer )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   282
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   283
        iSapTimer->Cancel();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   284
        delete iSapTimer;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   285
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   286
    //Powermenu
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   287
    if (iPowerMenuDialog!=NULL)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   288
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   289
        //PowerMenu already exist
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   290
        delete iPowerMenuDialog;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   291
        iPowerMenuDialog = NULL;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   292
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   293
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   294
    RWindowGroup groupWin = iCoeEnv->RootWin();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   295
    groupWin.CancelCaptureKey( iCapturedEKeyPowerOff );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   296
    groupWin.CancelCaptureKeyUpAndDowns( iCapturedEKeyPowerOffUpAndDowns );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   297
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   298
    delete iSysApDefaultKeyHandler;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   299
    delete iSysApCenRepLightSettingsObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   300
    delete iSysApCenRepBtObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   301
    delete iSysApCenRepHacSettingObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   302
    delete iSysApCenRepController;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   304
    delete iSysApPubSubObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   305
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   306
    delete iSysApLightsController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   307
    delete iSysApFeatureManager;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   308
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   309
    delete iSysApCenRepLogsObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   310
    delete iSysApOfflineModeController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   311
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   312
    delete iSysApUsbIndicatorController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   313
    delete iKeyguardController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   314
    // delete iHbIndicatorSymbian; 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   315
    delete iSysApKeyManagement;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   316
    iSysApKeyManagement = NULL;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   317
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   318
    REComSession::FinalClose();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   319
    iResourcesFreed = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   320
    TRACES( RDebug::Print( _L("CSysApAppUi::FreeResources:END") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   321
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   322
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   323
// ---------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   324
// CStartupAppUi::PrepareToExit()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   325
// ---------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   326
void CSysApAppUi::PrepareToExit()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   327
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   328
    TRACES("CSysApAppUi::PrepareToExit()");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   329
    CEikAppUi::PrepareToExit();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   330
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   331
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   333
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   334
// CSysApAppUi::StateOfProperty()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   335
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   336
TInt CSysApAppUi::StateOfProperty( const TUid& aCategory, const TUint aKey ) const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   337
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   338
    TInt err( KErrNone );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   339
    TInt value( 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   340
    err = RProperty::Get( aCategory, aKey, value );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   341
    if ( err )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   342
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   343
        TRACES( RDebug::Print( _L("CSysApAppUi::StateOfProperty. RProperty::Get: err=%d"), err ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   344
        return err;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   345
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   346
    return value;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   347
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   348
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   349
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   350
// CSysApAppUi::OfflineModeActive()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   351
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   352
TBool CSysApAppUi::OfflineModeActive()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   353
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   354
    if(iSysApOfflineModeController)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   355
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   356
        return iSysApOfflineModeController->OfflineModeActive();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   357
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   358
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   359
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   360
        return EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   361
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   362
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   363
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   364
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   365
// CSysApAppUi::GoOnlineL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   366
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   367
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   368
void CSysApAppUi::GoOnlineL( TBool /* aDoProfileChange */ )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   369
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   370
    if ( iSysApFeatureManager->OfflineModeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   371
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   372
//        TRACES( RDebug::Print( _L("CSysApAppUi::GoOnlineL: going from off-line into on-line: aDoProfileChange=%d" ), aDoProfileChange ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   373
        iActivateBt = iSysApOfflineModeController->MustBtBeActivated();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   374
        iSysApOfflineModeController->SwitchFromOfflineToOnlineModeL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   375
        TRACES( RDebug::Print( _L("CSysApAppUi::GoOnlineL: iActivateBt = %d" ), iActivateBt ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   376
        }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   380
// CSysApAppUi::GoOfflineL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   381
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   382
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   383
void CSysApAppUi::GoOfflineL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   384
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   385
    if ( iSysApFeatureManager->OfflineModeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   386
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   387
        TRACES( RDebug::Print( _L("CSysApAppUi::GoOfflineL" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   388
        iDeactivateBt = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   389
        iSysApOfflineModeController->SwitchFromOnlineToOfflineModeL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   390
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   391
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   392
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   393
#ifndef SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   394
// need to configure the above macro.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   395
#else // SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   396
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   397
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   398
// CSysApAppUi::HandleUiReadyAfterBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   399
// Called when startup UI activities has been finished
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   400
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   401
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   402
void CSysApAppUi::HandleUiReadyAfterBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   403
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   404
    TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL" ) ) );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   405
    TInt state( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   406
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   407
    UpdateBatteryBarsL( state );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   408
    DoSwStateNormalConstructionL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   409
    HandleAccessoryProfileInStartupL();       
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   410
   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   411
    if ( !iSysApPsmController ) // created here if first state change has not occurred yet
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   412
       {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   413
       iSysApPsmController = CSysApPsmController::NewL( *this );        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   414
       }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   415
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   416
    if ( iSysApPsmController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   417
       {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   418
        if ( iCharging ) // if charger is connected on boot PSM queries may need to be shown
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   419
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   420
         HandleChargingStatusL( StateOfProperty( KPSUidHWRMPowerState, KHWRMChargingStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   421
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   422
       }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   423
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   424
    TInt batteryStatus = StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryStatus );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   425
    TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL: batteryStatus %d" ), batteryStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   426
    if(  batteryStatus == EBatteryStatusLow || batteryStatus == EBatteryStatusEmpty )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   427
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   428
        // low and empty battery states are informed to the user in device startup
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   429
        HandleBatteryStatusL( batteryStatus );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   430
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   431
    else if ( iSysApPsmController && !iCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   432
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   433
            TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL: batteryStatus %d, iCharging %d -> disable partial psm" ), batteryStatus, iCharging ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   434
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   435
            iSysApPsmController->BatteryLow( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   436
            iSysApPsmController->DoEnablePartialPsm( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   437
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   438
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   439
    if ( ! iSysApUsbIndicatorController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   440
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   441
        TRAPD ( usbErr, iSysApUsbIndicatorController = CreateSysApUsbIndicatorL( *this ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   442
        if ( usbErr )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   443
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   444
            TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL: error in constructing USB ind. controller %d" ), usbErr ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   445
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   446
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   447
   }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   448
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   449
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   450
// CSysApAppUi::DoStateChangedL(const RStarterSession::TGlobalState aSwState)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   451
// This method is not called after boot has finished.
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   452
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   453
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   454
void CSysApAppUi::DoStateChangedL(const RStarterSession::TGlobalState aSwState)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   455
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   456
    TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL: %d" ), aSwState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   457
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   458
    TRAPD( simChangedErr, DoSimChangedFromPreviousBootL() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   459
    TRACES( RDebug::Print( _L("CSysApAppUi::DoStateChangedL: simChangedErr = %d" ), simChangedErr ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   460
    simChangedErr = simChangedErr; // suppress 'variable not used' warning
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   461
    LogsObserverL().HandleSimChangedCheckDoneL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   462
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   463
    if ( iSysApFeatureManager->PowerSaveSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   464
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   465
        // create controller before checking battery state, so that power saving can be enabled during boot if needed
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   466
        if ( !iSysApPsmController ) // created only in first state change
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   467
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   468
            iSysApPsmController = CSysApPsmController::NewL( *this );        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   469
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   470
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   471
        // in charger boot explicitly disable  power save mode
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   472
        if ( aSwState == RStarterSession::ECharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   473
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   474
            iSysApPsmController->ChargerConnected();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   475
            iSysApPsmController->DoEnablePartialPsm( EFalse ); // disable  power save now
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   476
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   477
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   478
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   479
    if ( aSwState == RStarterSession::ECharging || aSwState == RStarterSession::EAlarm )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   480
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   481
        TInt state( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   482
        //Also Charging status will be updated with the following function.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   483
        UpdateBatteryBarsL( state );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   484
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   485
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   486
    if( IsStateNormal() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   487
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   488
        TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL to normal state.") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   489
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   490
        iSysApBtController = CreateSysApBtControllerL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   491
        iSysApBtSapController = CreateSysApBtSapControllerL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   492
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   493
        if ( iActivateBt )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   494
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   495
            TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL Activating BT" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   496
            SetBtPowerState( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   497
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   498
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   499
        if ( iDeactivateBt )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   500
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   501
            TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL Deactivating BT" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   502
            SetBtPowerState( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   503
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   504
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   505
        if ( !StarterSession().Handle() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   506
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   507
            User::Leave( KErrBadHandle );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   508
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   509
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   510
/*        if ( !KeyLock().Handle() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   511
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   512
            User::Leave( KErrBadHandle );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   513
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   514
*/
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   515
#ifdef __SYSAP_MODULE_TEST
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   516
        ModuleTestShowUiNoteL( _L("SysAp: SW state normal!") );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   517
#endif
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   518
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   519
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   520
    // Allow lights
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   521
    iSysApLightsController->AllowLightsOn();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   522
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   523
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   524
#endif // SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   525
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
CSysApAppUi::~CSysApAppUi()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
    TRACES( RDebug::Print( _L("~CSysApAppUi() started") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
    if( !iResourcesFreed )
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   530
      {
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
        FreeResources();
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   532
      }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
    delete iSysApStartupController;
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   534
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   535
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   536
TBool CSysApAppUi::ResourcesFreed() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   537
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   538
    return iResourcesFreed;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   541
void CSysApAppUi::ShowExampleUiNoteL( const TDesC& noteText )const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   542
    {          
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   543
    //   QString msg  = QString::fromUtf16(aStringPointer.Ptr(),aStringPointer.Length());
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   544
 	TRACES( RDebug::Print( _L("CSysApAppUi::ShowExampleUiNoteL:: constructing CHbDeviceMessageBoxSymbian:BeGIN") ) );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   545
    CHbDeviceMessageBoxSymbian *note = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EInformation);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   546
 	CleanupStack::PushL(note);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   547
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowExampleUiNoteL:: construction of CHbDeviceMessageBoxSymbian:END") ) ); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   548
	//	HbMessageBox *note = new HbMessageBox (HbMessageBox ::MessageTypeInformation);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   549
    note->SetTextL(noteText);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   550
    //  note->SetTimeout(HbPopup::NoTimeout);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   551
	note->SetTimeout(5);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   552
 	TRACES( RDebug::Print( _L("CSysApAppUi:: Display of  CHbDeviceMessageBoxSymbian::Begin") ) );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   553
    note->ShowL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   554
	TRACES( RDebug::Print( _L("CSysApAppUi:: Display of  CHbDeviceMessageBoxSymbian::End") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   555
	CleanupStack::PopAndDestroy(note);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   559
void CSysApAppUi::ExecQueryL( TSysapQuery aQuery, TDes8& aReturn )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   561
    ExecQueryL( aQuery, aReturn, KNullDesC8 );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   565
// CSysApAppUi::ExecQueryL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   567
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   568
void CSysApAppUi::ExecQueryL( TSysapQuery aQuery, TDes8& aReturn, const TDesC8& /*aParam*/ )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   569
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   570
    TRACES( RDebug::Print(_L("CSysApAppUi::ExecQueryL: aQuery=%d"), aQuery ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   571
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   572
    switch ( aQuery )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   574
        case EGetHwrmLight: // get handle to HWRM client session. Returns CHWRMLight*.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   575
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   576
            THwrmLightBuf retBuf( iSysApLightsController->GetHwrmLight() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   577
            aReturn.Copy( retBuf );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   578
            }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
            break;
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   580
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   581
        case EGetKeylock: // get handle to keylock client session. Returns RAknKeylock2*.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   582
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   583
            // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   584
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   585
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   586
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   587
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   588
        default:
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   589
            __ASSERT_DEBUG( EFalse, User::Panic( _L("CSysApAppUi::ExecQueryL: Invalid query"), KErrArgument ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   590
            User::Leave( KErrArgument );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   591
            break;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   592
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   593
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   594
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   596
// CSysApAppUi::ExecCommandL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   598
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   599
void CSysApAppUi::ExecCommandL( TSysapCommand aCommand )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   601
    ExecCommandL( aCommand, KNullDesC8 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   602
    }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   604
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   605
// CSysApAppUi::ExecCommandL
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   606
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   607
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   608
void CSysApAppUi::ExecCommandL( TSysapCommand aCommand, const TDesC8&  /* aParam */ )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   609
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   610
    TRACES( RDebug::Print(_L("CSysApAppUi::ExecCommandL: aCommand=%d"), aCommand ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   611
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   612
    switch ( aCommand )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   614
        case EResetKeyguardState: // reset the internal keyguard flags of the SysAp, except for iKeyLockOnBeforeCradle
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   615
            iKeyLockOnBeforeCall = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   616
            iKeyLockOnBeforeAlarm = EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
            break;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
        default:
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   620
            // do nothing in release builds since no harm is done
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   621
            __ASSERT_DEBUG( EFalse, User::Panic( _L("CSysApAppUi::ExecCommandL: Invalid command"), KErrArgument ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
            break;
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   623
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   624
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   625
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   626
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   627
// CSysApAppUi::TimerExpiredL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   628
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   629
void CSysApAppUi::TimerExpiredL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   630
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   631
/*
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   632
 * Not suppported , will take care in wk25
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   633
 * #ifndef RD_MULTIPLE_DRIVE 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   634
 * CloseUIAppsInHotSwapL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   635
 * #endif // RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   636
*/   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   637
   }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   638
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   639
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   640
  // ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   641
// CSysApAppUi::KeyLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   642
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   643
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   644
TBool CSysApAppUi::KeyLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   645
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   646
    return iKeyLockEnabled;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   647
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   648
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   649
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   650
// CSysApAppUi::DeviceLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   651
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   652
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   653
TBool CSysApAppUi::DeviceLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   654
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   655
    return iDeviceLockEnabled;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   656
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   657
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   658
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   659
// CSysApAppUi::SysApFeatureManager
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   660
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   661
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   662
CSysApFeatureManager& CSysApAppUi::SysApFeatureManager()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   663
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   664
    __ASSERT_DEBUG( iSysApFeatureManager, User::Panic( _L("iSysApFeatureManager == NULL"), KErrBadHandle ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   665
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   666
    return *iSysApFeatureManager;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   667
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   668
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   669
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   670
// CSysApAppUi::ActivateKeyeventForwardingForLights()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   671
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   672
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   673
void CSysApAppUi::ActivateKeyeventForwardingForLights(TBool aActivate)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   674
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   675
    if( iSysApNspsHandler )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   676
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   677
        if ( aActivate )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   678
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   679
            iSysApNspsHandler->ActivateKeyeventForwardingForLights();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   680
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   681
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   682
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   683
            iSysApNspsHandler->DeActivateKeyeventForwardingForLights();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   684
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   685
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   686
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   687
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   688
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   689
// CSysApAppUi::StarterSession()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   690
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   691
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   692
RStarterSession& CSysApAppUi::StarterSession()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   693
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   694
    if ( !iStarterSession.Handle() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   695
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   696
        // All server connections are tried to be made KTriesToConnectServer times because occasional
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   697
        // fails on connections are possible at least on some servers
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   698
        TRACES( RDebug::Print( _L("CSysApAppUi::StarterSession: trying RStarterSession::Connect()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   699
        TInt thisTry = 0;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   700
        TInt err;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   701
        while ( ( err = iStarterSession.Connect() ) != KErrNone && ( thisTry++ ) <= KTriesToConnectServer )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   702
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   703
            User::After( KTimeBeforeRetryingServerConnection );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   704
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   705
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   706
        if ( err != KErrNone )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   707
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   708
            // What do in error case?
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   709
            TRACES( RDebug::Print( _L("CSysApAppUi::StarterSession: RStarterSession::Connect() failed with %d"), err ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   710
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   711
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   712
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   713
    return iStarterSession;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   714
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   715
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   716
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   717
// CSysApAppUi::SetBtPowerState()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   718
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   719
TInt CSysApAppUi::SetBtPowerState( TBool aBtState )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   720
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   721
    if ( iSysApBtController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   722
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   723
        return iSysApBtController->SetPowerState( aBtState );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   724
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   725
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   726
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   727
        return KErrNotReady;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   728
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   729
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   730
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   731
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   732
// CSysApAppUi::SetStarterState()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   733
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   734
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   735
TInt CSysApAppUi::SetStarterState( const RStarterSession::TGlobalState aState )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   736
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   737
    if ( iSysApStartupController->GlobalStateChangeAllowed( aState ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   738
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   739
        TRACES( RDebug::Print( _L("CSysApAppUi::SetStarterState: aState=%d" ), aState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   740
        return StarterSession().SetState( aState );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   741
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   742
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   743
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   744
        TRACES( RDebug::Print( _L("CSysApAppUi::SetStarterState: aState=%d - not allowed" ), aState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   745
        return KErrNone;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   746
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   747
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   748
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   749
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   750
// CSysApAppUi::SetNetworkConnectionAllowed()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   751
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   752
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   753
void CSysApAppUi::SetNetworkConnectionAllowed( TCoreAppUIsNetworkConnectionAllowed aNetworkConnectionAllowed )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   754
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   755
    TRACES( RDebug::Print( _L("CSysApAppUi::SetNetworkConnectionAllowed: status: %d" ), aNetworkConnectionAllowed ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   756
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   757
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIs, KCoreAppUIsNetworkConnectionAllowed, (TInt) aNetworkConnectionAllowed );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   758
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   759
    // Also set the Symbian PS key used for the same purpose:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   760
    RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, aNetworkConnectionAllowed ? ESAPhoneOn : ESAPhoneOff);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   761
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   762
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   763
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   764
// CSysApAppUi::BluetoothPowerMode()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   765
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   766
TInt CSysApAppUi::BluetoothPowerMode() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   767
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   768
    return iSysApCenRepBtObserver->BluetoothPowerMode();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   769
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   770
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   771
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   772
// CSysApAppUi::SimSupported()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   773
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   774
TBool CSysApAppUi::SimSupported()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   775
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   776
    return iSysApFeatureManager->SimSupported();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   777
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   778
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   779
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   780
// CSysApAppUi::BtSapEnabled()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   781
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   782
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   783
TBool CSysApAppUi::BtSapEnabled()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   784
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   785
    if ( iSysApBtSapController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   786
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   787
        return iSysApBtSapController->BtSapEnabled();    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   788
        }  
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   789
    return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   790
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   791
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   792
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   793
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   794
// CSysApAppUi::OfflineModeChangedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   795
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   796
void CSysApAppUi::OfflineModeChangedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   797
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   798
#ifdef SYSAP_USE_STARTUP_UI_PHASE    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   799
    // if UI is not ready, don't update indicators
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   800
    if ( !UiReady() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   801
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   802
        return;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   803
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   804
#endif // SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   805
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   806
#if 0 // Not used as of now
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   807
    SetHacIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   808
#endif //0	
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   809
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   810
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   811
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   812
// CSysApAppUi::UiReady()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   813
// 
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   814
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   815
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   816
TBool CSysApAppUi::UiReady() const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   817
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   818
#ifdef SYSAP_USE_STARTUP_UI_PHASE    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   819
    return iSysApStartupController->UiReady(); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   820
#else // SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   821
    // if startup UI phase information is not used, global system state normal is handled as UI idle state
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   822
    return IsStateNormal();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   823
#endif // SYSAP_USE_STARTUP_UI_PHASE        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   824
    }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   825
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   826
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   827
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   828
// CSysApAppUi::CompleteShutdown()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   829
// ----------------------------------------------------------------------------
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   830
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   831
void CSysApAppUi::CompleteShutdown( const TBool aReset, const TInt aResetReason )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   832
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   833
    TRACES( RDebug::Print(_L("CSysApAppUi::CompleteShutdown(): START" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   834
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   835
    iCheckLongPowerKeyEvent = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   836
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   837
    PrepareForShutdownImage();//SysAp's internal preparation for ShutDown with image
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   838
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   839
    FreeResources();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   840
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   841
    if ( aReset )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   842
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   843
        __ASSERT_DEBUG( aResetReason >= RStarterSession::ELanguageSwitchReset &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   844
                        aResetReason <= RStarterSession::EDataRestoreReset,
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   845
                        User::Invariant() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   846
        StarterSession().Reset( static_cast<RStarterSession::TResetReason>( aResetReason ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   847
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   848
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   849
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   850
        StarterSession().Shutdown();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   851
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   852
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   853
    StarterSession().Close();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   854
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   855
    TRACES( RDebug::Print(_L("CSysApAppUi::CompleteShutdown(): END" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   856
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   857
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   858
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   859
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   860
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   861
// CSysApAppUi::DoShutdownL( const TBool aReset, const TSWStartupReason aSWStartupReason )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   862
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   863
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   864
void CSysApAppUi::DoShutdownL( const TBool aReset, const TInt aResetReason )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   865
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   866
    TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL: aResetReason:%d, aReset:%d" ),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   867
        aResetReason, aReset ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   868
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   869
    TBool animationenabled( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   870
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   871
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   872
    if( OkToInitiateShutdown() )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   873
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   874
        TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL: Was OkToToInitiateShutdown" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   875
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   876
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   877
        if ( !aReset && iSysApFeatureManager->Supported(KSysApFeatureIdGoodbyeNote) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   878
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   879
            // show shutdown note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   880
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   881
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   882
        if( !aReset )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   883
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   884
    #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   885
//            TRAPD( err, ShowAnimationL() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   886
//            if ( err )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   887
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   888
     //           TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL ShowAnimationL() leaved: %d" ), err ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   889
                CompleteShutdown(aReset, aResetReason);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   890
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   891
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   892
        else // aReset
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   893
           {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   894
            CompleteShutdown(aReset, aResetReason);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   895
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   896
    #else // RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   897
            TRAPD( err, animationenabled = ShowAnimationL() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   898
            if ( err )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   899
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   900
                TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL ShowAnimationL() leaved: %d" ), err ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   901
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   902
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   903
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   904
        if ( !animationenabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   905
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   906
            CompleteShutdown(aReset, aResetReason);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   907
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   908
    #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   909
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   910
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   911
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   912
        TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL: Was not OkToToInitiateShutdown" ) ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   913
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   914
    TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL: END" ) ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   915
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   916
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   917
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   918
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   919
/* 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   920
----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   921
CSysApAppUi::IsEncryptionOperationOngoingL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   922
Introduced the code as a part of Sub : 405-3362 - Power Management SUB for ES 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   923
recapture functionalities in platform which support multidrive as well. 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   924
-------------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   925
*/
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   926
TBool CSysApAppUi::IsEncryptionOperationOngoingL() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   927
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   928
        TBool deFeatureSupported(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   929
        FeatureManager::InitializeLibL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   930
        deFeatureSupported = FeatureManager::FeatureSupported( KFeatureIdFfDeviceEncryptionFeature);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   931
        FeatureManager::UnInitializeLib();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   932
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   933
        if(deFeatureSupported)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   934
            {         
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   935
            /**
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   936
             * Store the last memory status changed
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   937
             * 0: Idle. It can be Encrypted or Decrypted
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   938
             * 1: Encrypting
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   939
             * 2: Decrypting
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   940
             **/
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   941
             
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   942
            RProperty deProperty;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   943
            User::LeaveIfError(deProperty.Attach(KDevEncProtectedUid, KDevEncOperationKey,EOwnerThread));
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   944
            TInt deValue = 0;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   945
            if((deProperty.Get(deValue)== KErrNone)&&( deValue == EOpEncrypting || deValue == EOpDecrypting))
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   946
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   947
                deProperty.Close();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   948
                return ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   949
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   950
            else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   951
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   952
                deProperty.Close();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   953
                return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   954
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   955
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   956
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   957
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   958
            return EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   959
            }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   960
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   961
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   962
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   963
// CSysApAppUi::HandleLongPowerKeyPressedL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   964
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   965
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   966
void CSysApAppUi::HandleLongPowerKeyPressedL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   967
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   968
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleLongPowerKeyPressedL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   969
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   970
    TInt swState;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   971
    RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   972
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   973
    iSysApLightsController->PowerKeyPressedL();  //need to handle later.
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   974
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   975
    if( swState == ESwStateStartingCriticalApps ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   976
        swState == ESwStateSelfTestOK ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   977
        swState == ESwStateSecurityCheck ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   978
        swState == ESwStateCriticalPhaseOK ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   979
        swState == ESwStateEmergencyCallsOnly ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   980
        swState == ESwStateNormalRfOn ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   981
        swState == ESwStateNormalRfOff ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   982
        swState == ESwStateNormalBTSap ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   983
        swState == ESwStateFatalStartupError )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   984
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   985
        if( !iDeviceLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   986
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   987
            if( iPowerKeyPopupMenuActive )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   988
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   989
                // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   990
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   991
            else if( !iIgnoreNextPowerKeyRepeats )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   992
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   993
                if( !iKeyLockEnabled && !IsEncryptionOperationOngoingL() )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   994
                    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   995
                    DoShutdownL( EFalse, KDummyReason );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   996
                    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   997
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   998
            iIgnoreNextPowerKeyRepeats = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   999
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1000
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1001
    else if( swState == ESwStateAlarm )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1002
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1003
        //Just comment here to highlight that this is not possible since
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1004
        //from alarm state already a short press always shuts the device down.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1005
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1006
    else if( swState == ESwStateCharging )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1007
        //Startup to Normal state
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1008
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1009
        if( !iIgnoreNextPowerKeyRepeats )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1010
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1011
            iIgnoreNextPowerKeyRepeats = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1012
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1013
            SetStarterState( RStarterSession::ENormal );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1014
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1015
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1016
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1017
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1018
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1019
// CSysApAppUi::IsDeviceModeKey
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1020
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1021
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1022
TBool CSysApAppUi::IsDeviceModeKey( const TKeyEvent& aKeyEvent ) const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1023
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1024
    return CSysApDefaultKeyHandler::IsDeviceModeKey( aKeyEvent );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1025
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1026
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1027
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1028
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1029
// CSysApAppUi::ShowShutdownImage
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1030
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1031
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1032
TInt CSysApAppUi::ShowShutdownImage( TInt aBitmapId )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1033
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1034
    TRACES( RDebug::Print(_L("CSysApAppUi::ShowShutdownImage") ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1035
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1036
    TRAPD( err, ShowShutdownImageL( aBitmapId ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1037
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1038
    if ( err != KErrNone )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1039
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1040
        TRACES( RDebug::Print(_L("CSysApAppUi::ShowShutdownImageL failed, err=%d"), err ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1041
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1042
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1043
    return err;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1044
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1045
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1046
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1047
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1048
// CSysApAppUi::ShowShutdownImageL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1049
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1050
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1051
void CSysApAppUi::ShowShutdownImageL( TInt aBitmapId )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1052
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1053
    TRACES( RDebug::Print(_L("CSysApAppUi::ShowShutdownImageL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1054
    // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1055
    if ( !iSysApShutdownImage ) // Shutdown image may be shown without entering normal state (e.g. charging), so construct here
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1056
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1057
        TRACES( RDebug::Print( _L("CSysApAppUi::ShowShutdownImageL: trying CSysApShutdownImage::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1058
        iSysApShutdownImage = CSysApShutdownImage::NewL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1059
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1060
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowShutdownImageL: trying CSysApShutdownImage::ShowShutdownImageL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1061
    iSysApShutdownImage->ShowShutdownImageL( aBitmapId );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1062
   }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1063
   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1064
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1065
// CSysApAppUi::PrepareForShutdownImage()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1066
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1067
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1068
void CSysApAppUi::PrepareForShutdownImage()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1069
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1070
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownImage() START" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1071
 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1072
    // If RD_STARTUP_ANIMATION_CUSTOMIZATION is enabled, the following actions are always taken in PrepareForShutdownAnimation
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1073
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1074
    if ( !iAnimationShowingTime ) // actions already taken in PrepareForShutdownAnimation
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1075
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1076
        static_cast<CAknAppUi*>(iEikonEnv->EikAppUi())->KeySounds()->PlaySound( EAvkonSIDPowerOffTone );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1077
        CancelGlobalListQuery();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1078
        
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1079
        if ( iSysApPowerKeyMenuObserver )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1080
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1081
            iSysApPowerKeyMenuObserver->Cancel();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1082
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1083
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1084
        // deactivate notifiers before showing the shutdown image
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1085
        AknNotifierController::CancelAllNotifications();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1086
        AknNotifierController::HideAllNotifications(ETrue);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1087
        RWindowGroup groupWin = iCoeEnv->RootWin();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1088
        iCapturedAppskey = groupWin.CaptureKey( EKeyApplication, KModifierMask, KModifierMask );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1089
        iCapturedAppskeyUpAndDowns = groupWin.CaptureKeyUpAndDowns( EStdKeyApplication0, KModifierMask, KModifierMask );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1090
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1091
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1092
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1093
#ifndef __SYSAP_MODULE_TEST //to make errors during shutdown sequence being seen more easily
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1094
    iEikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1095
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownImage() Show Shutdown image" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1096
    ShowShutdownImage( 1  );//EMbmSysapQgn_startup_screen
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1097
#endif
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1098
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownImage() END" ) ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1099
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1100
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1101
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1102
// CSysApAppUi::OkToInitiateShutdown()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1103
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1104
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1105
TBool CSysApAppUi::OkToInitiateShutdown()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1106
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1107
    TInt swState;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1108
    RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1109
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1110
    if( !iShutdownStarted &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1111
        swState == ESwStateStartingCriticalApps ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1112
        swState == ESwStateSelfTestOK ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1113
        swState == ESwStateSecurityCheck ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1114
        swState == ESwStateCriticalPhaseOK ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1115
        swState == ESwStateEmergencyCallsOnly ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1116
        swState == ESwStateCharging ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1117
        swState == ESwStateAlarm ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1118
        swState == ESwStateNormalRfOn ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1119
        swState == ESwStateNormalRfOff ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1120
        swState == ESwStateNormalBTSap ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1121
        swState == ESwStateFatalStartupError )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1122
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1123
        iShutdownStarted = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1124
        return ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1125
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1126
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1127
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1128
        return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1129
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1130
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1131
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1132
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1133
void CSysApAppUi::PopupNote()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1134
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1135
    iIgnoreNextPowerKeyUpEvent = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1136
    // TRACES( RDebug::Print( _L("CSysApAppUi::Key was consumed") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1137
    _LIT(KPowerPressKey,"Short power key");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1138
    HBufC* aString = HBufC16::NewLC(50);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1139
    TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1140
    aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1141
    TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1142
    ShowExampleUiNoteL( aStringPointer );  
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1143
    CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1144
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1145
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1146
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1147
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1148
// CSysApAppUi::SetUsbAttachStatus
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1149
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1150
#ifndef RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1151
void CSysApAppUi::SetUsbAttachStatus( const TBool aUsbAttached )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1152
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1153
    // Prevent double beep when USB file transfer gets activated but
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1154
    // allow MMC inserted beep when:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1155
    // a) USB file transfer is active
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1156
    // b) MMC is not inserted when USB cable is attached
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1157
    iHideNextBeep = ( iMMCInserted && aUsbAttached );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1158
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1159
#else // RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1160
void CSysApAppUi::SetUsbAttachStatus( const TBool aUsbAttached )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1161
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1162
    TRACES( RDebug::Print(
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1163
        _L( "CSysApAppUi::SetUsbAttachStatus: aUsbAttached: %d" ),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1164
        aUsbAttached ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1165
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1166
    if ( aUsbAttached )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1167
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1168
          // For ignoring extra beeps caused by USB file transfer
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1169
/*        iSysApDriveList->ResetDrivesInsertBeepIgnored();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1170
        iSysApDriveList->MarkDrivesInsertBeepIgnored( iInsertedMemoryCards );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1171
        // Will take care in next sub
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1172
*/        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1173
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1174
#endif // RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1175
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1176
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1177
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1178
// CSysApAppUi::UsbChargerDetector
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1179
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1180
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1181
TSysApUsbChargerDetector& CSysApAppUi::UsbChargerDetector()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1182
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1183
    return iSysApUsbChargerDetector;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1184
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1185
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1186
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1187
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1188
// CSysApAppUi::HandleAccessoryDisconnectedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1189
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1190
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1191
void CSysApAppUi::HandleAccessoryDisconnectedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1192
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1193
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryDisconnectedL()" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1194
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1195
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1196
    TAccMode accessoryState(EAccModeHandPortable);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1197
    if ( iSysApAccessoryObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1198
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1199
        accessoryState = iSysApAccessoryObserver->GetAccessoryMode();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1200
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1201
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1202
    if ( accessoryState == EAccModeHandPortable )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1203
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1204
        iSysApLightsController->AccessoryConnectedL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1205
        iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected, 0 );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1206
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1207
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1208
    SetIhfIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1209
    SetHacIndicatorL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1210
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1211
    // If lock disabled because of accessory, reactivate it, unless phone call or alarm is ongoing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1212
    if ( iKeyLockOnBeforeCradle )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1213
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1214
        iKeyLockOnBeforeCradle = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1215
        if ( !iKeyLockOnBeforeCall && !iKeyLockOnBeforeAlarm )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1216
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1217
            if ( !iDeviceLockEnabled )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1218
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1219
                iKeyguardController->EnableKeyguard(ETrue);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1220
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1221
            else
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1222
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1223
                iKeyguardController->EnableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1224
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1225
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1226
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1227
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1228
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1229
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1230
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1231
// CSysApAppUi::HandleAccessoryConnectedL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1232
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1233
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1234
void CSysApAppUi::HandleAccessoryConnectedL( TAccMode aAccessoryState )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1235
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1236
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryConnectedL( aAccessoryState: %d ) "), aAccessoryState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1237
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1238
    if ( aAccessoryState == EAccModeWirelessHeadset ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1239
         aAccessoryState == EAccModeWiredHeadset ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1240
         aAccessoryState == EAccModeHeadphones )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1241
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1242
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1243
    else if ( aAccessoryState == EAccModeLoopset )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1244
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1245
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1246
    else if ( aAccessoryState == EAccModeTextDevice )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1247
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1248
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1249
    else if ( aAccessoryState == EAccModeWirelessCarKit || aAccessoryState == EAccModeWiredCarKit )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1250
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1251
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1252
    else if ( aAccessoryState == EAccModeTVOut )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1253
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1254
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1255
    else if (aAccessoryState == EAccModeHDMI )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1256
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1257
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1258
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1259
    TInt swState( StateOfProperty( KPSUidStartup, KPSGlobalSystemState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1260
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryConnectedL: swState: %d"), swState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1261
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1262
    if( UiReady() || swState == ESwStateSecurityCheck )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1263
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1264
        iSysApLightsController->AccessoryConnectedL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1265
        }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1266
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1267
    if ( ( ! iSysApOfflineModeController->OfflineModeActive() ))
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1268
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1269
        if ( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected ) < 1 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1270
            // accessory not connected already
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1271
             {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1272
            iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected, 1 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1273
           }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1274
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1275
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1276
    // Carkit and music stand have also light on permanently option that needs to be checked
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1277
    if( aAccessoryState == EAccModeWiredCarKit || aAccessoryState == EAccModeMusicStand )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1278
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1279
        // When device is placed on a handsfree cradle, keyguard must be disabled (unless device is locked)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1280
        // Note: It is assumed that if carkit/music stand is connected, the phone is in the cradle.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1281
        if ( iKeyLockEnabled || iDeviceLockEnabled || iKeyLockOnBeforeCall || iKeyLockOnBeforeAlarm )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1282
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1283
            iKeyLockOnBeforeCradle = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1284
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1285
            if ( iKeyLockEnabled && !iDeviceLockEnabled )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1286
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1287
                iKeyguardController->DisableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1288
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1289
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1290
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1291
    SetIhfIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1292
    SetHacIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1293
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1294
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1295
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1296
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1297
// CSysApAppUi::SetHacIndicatorL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1298
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1299
void CSysApAppUi::SetHacIndicatorL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1300
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1301
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1302
    if ( !iSysApCenRepHacSettingObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1303
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1304
        // Do nothing if HAC setting observer has not been created yet
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1305
        // This occurs in case some party is trying to set HAC indicator during
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1306
        // ConstructL(), e.g. when switching from offline to online during startup
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1307
        TRACES( RDebug::Print( _L("CSysApAppUi::SetHacIndicatorL: do nothing, HAC observer does not exist yet") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1308
        return;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1309
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1310
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1311
    if ( iSysApCenRepHacSettingObserver->HacMode() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1312
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1313
        TBool accessoryConnected ( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1314
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1315
        TAccMode accMode(EAccModeHandPortable);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1316
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1317
        if ( iSysApAccessoryObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1318
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1319
            accMode = iSysApAccessoryObserver->GetAccessoryMode();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1320
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1321
            if ( accMode != EAccModeHandPortable )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1322
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1323
                accessoryConnected = ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1324
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1325
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1326
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1327
//        TInt indicatorState = EAknIndicatorStateOn;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1328
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1329
        if ( !accessoryConnected ) // When accessory is not connected, check offline and call state
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1330
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1331
            if ( OfflineModeActive() ) // HAC indicator is not shown in offline mode
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1332
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1333
 //               indicatorState = EAknIndicatorStateOff;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1334
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1335
            else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1336
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1337
                // during active call with IHF activated HAC indicator is not shown
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1338
                TInt callState( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1339
                if ( callState < KErrNone )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1340
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1341
                    callState = EPSCTsyCallStateNone;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1342
                    }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1343
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1344
                if ( callState != EPSCTsyCallStateNone && IhfEnabledL() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1345
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1346
 //                   indicatorState = EAknIndicatorStateOff;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1347
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1348
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1349
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1350
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1351
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1352
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1353
            // If an accessory is connected, HAC indicator should not be shown
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1354
//            indicatorState = EAknIndicatorStateOff;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1355
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1356
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1357
 //       SetIndicatorStateL( EAknIndicatorHAC, indicatorState );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1358
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1359
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1360
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1361
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1362
        // If HAC is not active, always disable indicator regardless of accessory state
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1363
 //       SetIndicatorStateL( EAknIndicatorHAC, EAknIndicatorStateOff );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1364
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1365
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1366
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1367
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1368
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1369
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1370
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1371
// CSysApAppUi::DoNotActivateBt()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1372
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1373
void CSysApAppUi::DoNotActivateBt()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1374
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1375
    iSysApOfflineModeController->DoNotActivateBt();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1376
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1377
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1378
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1379
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1380
// CSysApAppUi::IhfEnabledL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1381
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1382
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1383
TBool CSysApAppUi::IhfEnabledL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1384
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1385
    TRACES( RDebug::Print( _L("CSysApAppUi::IhfEnabledL(): iSysApAudioRoutingObserver=0x%x"), iSysApAudioRoutingObserver ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1386
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1387
    if ( !iSysApAudioRoutingObserver ) // create observer if needed
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1388
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1389
        iSysApAudioRoutingObserver = CSysApAudioRoutingObserver::NewL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1390
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1391
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1392
    return iSysApAudioRoutingObserver->IhfEnabled();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1393
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1394
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1395
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1396
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1397
// CSysApAppUi::SetIhfIndicatorL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1398
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1399
void CSysApAppUi::SetIhfIndicatorL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1400
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1401
    TBool accessoryConnected ( EFalse );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1402
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1403
    TInt callState( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1404
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1405
    TAccMode accMode(EAccModeHandPortable);
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1406
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1407
    if ( iSysApAccessoryObserver )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1408
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1409
        accMode = iSysApAccessoryObserver->GetAccessoryMode();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1410
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1411
        if ( accMode != EAccModeHandPortable )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1412
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1413
            accessoryConnected = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1414
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1415
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1416
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1417
    if( (callState != EPSCTsyCallStateNone && IhfEnabledL() && !accessoryConnected)
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1418
        || accMode == EAccModeMusicStand )  // Music stand always shows IHF indicator
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1419
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1420
        if ( accMode == EAccModeMusicStand )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1421
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1422
            // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1423
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1424
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1425
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1426
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1427
        // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1428
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1429
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1430
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1431
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1432
// CSysApAppUi::DoLightsTimeoutChangedL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1433
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1434
void CSysApAppUi::DoLightsTimeoutChangedL( const TInt aTimeout )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1435
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1436
    iSysApLightsController->DoLightsTimeoutChangedL( aTimeout );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1437
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1438
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1439
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1440
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1441
// CSysApAppUi::DoSwStateNormalConstructionL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1442
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1443
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1444
void CSysApAppUi::DoSwStateNormalConstructionL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1445
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1446
    // Let's ensure that the lights will remain on for 15 secs after sw state normal
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1447
    User::ResetInactivityTime();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1448
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1449
    TRACES( RDebug::Print( _L("CSysApAppUi::DoSwStateNormalConstructionL : START" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1450
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1451
    // In case of unexpected reset (e.g. hidden boot) the keylock must be enabled silently. Locking is done
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1452
    // prior to time-consuming initializations, because otherwise UI is in unlocked state for a few seconds.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1453
    if ( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive ) == 1  )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1454
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1455
        TRACES( RDebug::Print( _L("CSysApAppUi::DoSwStateNormalConstructionL: enabling keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1456
        iKeyguardController->EnableKeyguard(ETrue);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1457
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1458
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1459
    // Initiate bearer change observation
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1460
//    iSysApConnectionMonitorObserver = CSysApConnectionMonitorObserver::NewL( *this );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1461
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1462
    TRACES( RDebug::Print( _L("SysAp: trying CSystemLock::NewL" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1463
    iSysApSystemLock = CSystemLock::NewL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1464
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1465
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1466
    if ( iSysApFeatureManager->Supported( KSysApFeatureIdBatteryInfoPopup ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1467
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1468
        iSysApBatteryInfoController = CSysApBatteryInfoController::NewL( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsConf, 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1469
                                                                                                     KCoreAppUIsBatteryInformationLowThreshold ) );    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1470
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1471
    TRACES( RDebug::Print( _L("CSysApAppUi::DoSwStateNormalConstructionL : END" ) ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1472
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1473
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1474
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1475
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1476
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1477
// CSysApAppUi::DoSimChangedFromPreviousBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1478
// ----------------------------------------------------------------------------
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1479
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1480
void CSysApAppUi::DoSimChangedFromPreviousBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1481
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1482
    TRACES( RDebug::Print( _L("CSysApAppUi::DoSimChangedFromPreviousBootL: iSimChangedDone=%d" ), iSimChangedDone ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1483
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1484
    if ( !iSimChangedDone  )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1485
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1486
        iSimChangedDone = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1487
        CSysApSimChanged* simChanged = CSysApSimChanged::NewL( *this, iEikonEnv->FsSession() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1488
        CleanupStack::PushL( simChanged );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1489
        simChanged->HandleSimChangedL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1490
        CleanupStack::PopAndDestroy( simChanged );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1491
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1492
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1493
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1494
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1495
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1496
// CSysApAppUi::IgnoreZeroNetworkBarNotifications
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1497
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1498
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1499
void CSysApAppUi::IgnoreZeroNetworkBarNotifications(TBool aIgnore)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1500
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1501
    iIgnoreZeroNetworkBarNotifications = aIgnore;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1502
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1503
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1504
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1505
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1506
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1507
// CSysApAppUi::SwitchFromOnlineToOfflineModeL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1508
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1509
void CSysApAppUi::SwitchFromOnlineToOfflineModeL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1510
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1511
   iSysApOfflineModeController->SwitchFromOnlineToOfflineModeL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1512
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1513
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1514
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1515
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1516
// CSysApAppUi::InitCloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1517
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1518
void CSysApAppUi::InitCloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1519
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1520
    iApplicationScanningRoundNumberInBtSap = 0;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1521
    iTimeToKillInBtSap = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1522
    CloseSimApplicationsL();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1523
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1524
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1525
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1526
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1527
// CSysApAppUi::CloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1528
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1529
void CSysApAppUi::CloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1530
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1531
    iApplicationScanningRoundNumberInBtSap++;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1532
    TRACES( RDebug::Print( _L("CSysApAppUi::CloseSimApplicationsL: scanning round = %d"),
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1533
                           iApplicationScanningRoundNumberInBtSap ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1534
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1535
    if ( iApplicationScanningRoundNumberInBtSap == KMaxExitTimeInBtSap )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1536
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1537
        iTimeToKillInBtSap = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1538
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1539
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1540
    const TInt KNumberOfSimDependantApps( 7 );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1541
    TUid simDependantAppUid[ KNumberOfSimDependantApps ];
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1542
    simDependantAppUid[ 0 ] = KSysApGSUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1543
    simDependantAppUid[ 1 ] = KSysApSATUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1544
    simDependantAppUid[ 2 ] = KSysApMailboxUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1545
    simDependantAppUid[ 3 ] = KSysApSpeedDialingUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1546
    simDependantAppUid[ 4 ] = KSysApSimDirectoryUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1547
    simDependantAppUid[ 5 ] = KSysApMCEUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1548
    simDependantAppUid[ 6 ] = KSysApCellBroadcastMessagesUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1549
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1550
    TBool appsExiting( EFalse );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1551
    TApaTaskList apaTaskList( CCoeEnv::Static()->WsSession() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1552
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1553
    for ( TInt i = 0; i < KNumberOfSimDependantApps; i++ )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1554
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1555
        TApaTask apaTask = apaTaskList.FindApp( simDependantAppUid[ i ] );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1556
        if ( apaTask.Exists() )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1557
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1558
            appsExiting = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1559
            if ( iApplicationScanningRoundNumberInBtSap == 1 )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1560
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1561
                apaTask.EndTask();  // applications are kindly requested to close themselves on the first round
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1562
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1563
            else if ( iTimeToKillInBtSap )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1564
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1565
                apaTask.KillTask(); // used after timeout on the last round
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1566
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1567
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1568
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1569
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1570
    if ( !appsExiting || iTimeToKillInBtSap )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1571
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1572
        iSysApBtSapController->SimApplicationsClosed();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1573
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1574
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1575
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1576
        if ( !iSapTimer )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1577
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1578
            iSapTimer = CPeriodic::NewL( EPriorityNormal );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1579
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1580
        iSapTimer->Cancel();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1581
        iSapTimer->Start( KDelayBeforeNextScanningRound,
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1582
                          KDelayBeforeNextScanningRound,
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1583
                          TCallBack( DoCloseSimApplicationsAfterCallBack, this ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1584
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1585
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1586
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1587
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1588
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1589
// CSysApAppUi::DoCloseSimApplicationsAfterCallBack
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1590
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1591
TInt CSysApAppUi::DoCloseSimApplicationsAfterCallBack( TAny* aObject )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1592
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1593
    CSysApAppUi* appUi = STATIC_CAST( CSysApAppUi*, aObject );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1594
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1595
    if ( appUi->iSapTimer )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1596
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1597
        appUi->iSapTimer->Cancel();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1598
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1599
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1600
    TRAP_IGNORE( appUi->CloseSimApplicationsL() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1601
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1602
    return KErrNone;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1603
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1604
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1605
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1606
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1607
// CSysApAppUi::NotifyPowerSaveModeL
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1608
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1609
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1610
void CSysApAppUi::NotifyPowerSaveModeL( TSysApPsmStatus aStatus )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1611
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1612
    TRACES( RDebug::Print( _L("CSysApAppUi::NotifyPowerSaveModeL aStatus: %d"), aStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1613
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1614
    // cancel any active power saving query because user has changed the state manually
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1615
    // CancelQuery( ESysApBattChargingPowerSavingQuery );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1616
    // CancelQuery( ESysApBattLowPowerSavingQuery );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1617
    // will take care in next sub
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1618
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1619
    switch ( aStatus )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1620
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1621
        case MSysApPsmControllerNotifyCallback::EPsmActivationComplete:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1622
             UpdateBatteryBarsL( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1623
             ShowUiNoteL( EPowerSaveModeActivated );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1624
             break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1625
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1626
        case MSysApPsmControllerNotifyCallback::EPsmDeactivationComplete:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1627
             UpdateBatteryBarsL( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1628
             ShowUiNoteL( EPowerSaveModeDeactivated );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1629
             break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1630
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1631
        case MSysApPsmControllerNotifyCallback::EPsmActivationFailed:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1632
            ShowUiNoteL( ECannotActivatePowerSaveMode );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1633
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1634
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1635
        case MSysApPsmControllerNotifyCallback::EPsmDeactivationFailed:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1636
            ShowUiNoteL( ECannotDeactivatePowerSaveMode );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1637
            break;            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1638
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1639
        default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1640
            break;   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1641
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1642
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1643
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1644
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1645
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1646
// CSysApAppUi::ShowAlarmIndicatorL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1647
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1648
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1649
void CSysApAppUi::ShowAlarmIndicatorL( TBool aShowIndicator )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1650
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1651
    if ( aShowIndicator)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1652
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1653
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1654
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1655
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1656
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1657
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1658
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1659
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1660
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1661
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1662
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1663
// CSysApAppUi::AlertUiAlertingL( const TBool aAlerting )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1664
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1665
void CSysApAppUi::AlertUiAlertingL( const TBool aAlerting )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1666
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1667
    TRACES( RDebug::Print( _L("CSysApAppUi::AlertUiAlerting aAlerting:%d"), aAlerting ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1668
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1669
    if ( aAlerting )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1670
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1671
        TInt swState;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1672
        RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1673
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1674
        if( swState == ESwStateCharging )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1675
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1676
            SetStarterState( RStarterSession::EAlarm );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1677
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1678
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1679
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1680
    iSysApLightsController->AlarmOccuredL( aAlerting );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1681
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1682
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1683
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1684
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1685
// CSysApAppUi::HandleForcedLightsVTRequireL( const TInt aLightParameter )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1686
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1687
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1688
void CSysApAppUi::HandleForcedLightsVTRequireL( const TInt aLightsParameter ) const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1689
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1690
    iSysApLightsController->HandleForcedLightsVTRequireL( aLightsParameter );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1691
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1692
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1693
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1694
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1695
// CSysApAppUi::HandleForcedLightsSSRequireL( const TInt aLightParameter )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1696
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1697
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1698
void CSysApAppUi::HandleForcedLightsSSRequireL( const TInt aLightsParameter ) const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1699
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1700
    iSysApLightsController->HandleForcedLightsSSRequireL( aLightsParameter );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1701
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1702
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1703
// ---------------------------------------------------------------------------- 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1704
// CSysApAppUi::HandleForcedLightsATCRequireL( const TInt aLightParameter ) 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1705
// ---------------------------------------------------------------------------- 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1706
void CSysApAppUi::HandleForcedLightsATCRequireL( const TInt aLightsParameter ) const 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1707
    { 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1708
    iSysApLightsController->HandleForcedLightsATCRequireL( aLightsParameter ); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1709
    } 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1710
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1711
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1712
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1713
// CSysApAppUi::HandleLightsRequireL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1714
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1715
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1716
void CSysApAppUi::HandleLightsRequireL() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1717
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1718
    iSysApLightsController->HandleLightsRequireL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1719
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1720
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1721
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1722
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1723
// CSysApAppUi::AlertUiKeyLockOff( const TBool aKeyLockOff )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1724
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1725
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1726
void CSysApAppUi::AlertUiKeyLockOff( const TBool aKeyLockOff )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1727
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1728
    TRACES( RDebug::Print( _L("CSysApAppUi::AlertUiKeyLockOff aKeyLockOff:%d, devicelock:%d"), 
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1729
        aKeyLockOff, iDeviceLockEnabled ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1730
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1731
    if( aKeyLockOff )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1732
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1733
        // Notification to release keypad might come several times if e.g. calls are received
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1734
        if ( !iKeyLockOnBeforeAlarm )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1735
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1736
            if ( iKeyLockEnabled || iKeyLockOnBeforeCradle || iKeyLockOnBeforeCall )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1737
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1738
                iKeyLockOnBeforeAlarm = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1739
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1740
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1741
        iKeyguardController->DisableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1742
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1743
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1744
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1745
        if (iDeviceLockEnabled)
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1746
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1747
            // Re-enable keylock in devicelock case only if phone call is not ongoing or is 
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1748
            // connected. Otherwise e.g. messages can be read using softkeys during ongoing call.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1749
            TInt callState( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1750
            if ( callState == EPSCTsyCallStateNone || callState == EPSCTsyCallStateConnected )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1751
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1752
                iKeyguardController->EnableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1753
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1754
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1755
        else if ( iKeyLockOnBeforeAlarm && !iKeyLockOnBeforeCradle && !iKeyLockOnBeforeCall )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1756
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1757
            iKeyguardController->EnableKeyguard(ETrue);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1758
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1759
        iKeyLockOnBeforeAlarm = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1760
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1761
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1762
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1763
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1764
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1765
// CSysApAppUi::DoNotEnableKeylock()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1766
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1767
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1768
void CSysApAppUi::DoNotEnableKeylock()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1769
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1770
    if ( !iKeyLockOnBeforeCradle )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1771
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1772
        iShowkeypadActivatedNoteAfterSoftReject = iKeyLockOnBeforeCall;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1773
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1774
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1775
    iKeyLockOnBeforeCall = EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1776
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1777
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1778
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1779
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1780
// CSysApAppUi::SwitchLightsOnSoftRejectL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1781
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1782
void CSysApAppUi::SwitchLightsOnSoftRejectL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1783
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1784
    iSysApLightsController->SwitchLightsOnSoftRejectL();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1785
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1786
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1787
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1788
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1789
// CSysApAppUi::SetDeviceLockEnabledL( const TBool aLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1790
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1791
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1792
void CSysApAppUi::SetDeviceLockEnabledL( const TBool aLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1793
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1794
    TRACES( RDebug::Print(_L("CSysApAppUi::SetDeviceLockEnabledL aLockEnabled:%d" ), aLockEnabled ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1795
    TBool currentState( iDeviceLockEnabled );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1796
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1797
    iDeviceLockEnabled = aLockEnabled;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1798
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1799
    if ( currentState != iDeviceLockEnabled ) // filter out unnecessary light status modifications
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1800
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1801
        iSysApLightsController->DeviceLockStateChangedL( iDeviceLockEnabled );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1802
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1803
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1804
    if( iDeviceLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1805
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1806
        if( iKeyLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1807
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1808
            iKeyguardController->DisableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1809
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1810
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1811
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1812
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1813
        // let's not activate keylock in case device lock was disabled during call or in cradle
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1814
        iKeyLockOnBeforeCall = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1815
        iKeyLockOnBeforeCradle = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1816
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1817
        // Memory card needs to be unlocked when device is unlocked
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1818
        if ( iSysApFeatureManager->MmcHotSwapSupported() )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1819
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1820
            // RunUnlockNotifierL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1821
            // Need to handle feature for unlocking the MMC card
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1822
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1823
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1824
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1825
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1826
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1827
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1828
// CSysApAppUi::HandleBatteryStatusL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1829
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1830
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1831
void CSysApAppUi::HandleBatteryStatusL( const TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1832
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1833
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleBatteryStatusL aValue: %d"), aValue ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1834
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1835
    if ( aValue == EBatteryStatusEmpty )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1836
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1837
        //Display Recharge Battery note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1838
        ShowUiNoteL( ERechargeBatteryNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1839
        BatteryEmptyL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1840
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1841
    else if ( aValue == EBatteryStatusLow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1842
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1843
        if ( iSysApPsmController && UiReady() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1844
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1845
            iSysApPsmController->BatteryLow( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1846
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1847
                       
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1848
            if ( iSysApPsmController->ShowActivateQuery())
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1849
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1850
                // show activation query, replaces the first battery low query
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1851
                ShowQueryL( ESysApBattLowPowerSavingQuery );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1852
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1853
            else // default low warning note must be shown
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1854
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1855
                // activate partial power save mode on first low warning
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1856
                iSysApPsmController->DoEnablePartialPsm( ETrue ); // activated on first warning note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1857
                //Display Battery Low note.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1858
                ShowUiNoteL( EBatteryLowNote );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1859
                }                
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1860
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1861
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1862
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1863
            //Display Battery Low note.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1864
            ShowUiNoteL( EBatteryLowNote );     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1865
            }            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1866
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1867
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1868
    if ( iSysApBatteryInfoController )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1869
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1870
     iSysApBatteryInfoController->BatteryStatusUpdated( aValue );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1871
    }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1872
      
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1873
   }
21
c4cbaa4fb734 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
  1874
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1875
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1876
// CSysApAppUi::ShowUiNoteL( const TSysApNoteIds aNote ) const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1877
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1878
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1879
void CSysApAppUi::ShowUiNoteL( const TSysApNoteIds aNote ) const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1880
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1881
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowUiNoteL aNote: %d"), aNote ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1882
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1883
    TInt swState( StateOfProperty( KPSUidStartup, KPSGlobalSystemState ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1884
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1885
    if( UiReady() || swState == ESwStateSecurityCheck)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1886
      {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1887
          switch ( aNote )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1888
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1889
            case EBatteryLowNote:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1890
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1891
                 _LIT(KPowerPressKey,"Battery low");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1892
                 HBufC* aString = HBufC16::NewLC(100);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1893
                 TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1894
                 aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1895
                 TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1896
                 ShowExampleUiNoteL( aStringPointer );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1897
                 CleanupStack::PopAndDestroy(); // aString
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1898
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1899
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1900
            case EBatteryFullNote:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1901
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1902
                _LIT(KPowerPressKey,"Battery full");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1903
                HBufC* aString = HBufC16::NewLC(100);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1904
                TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1905
                aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1906
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1907
                ShowExampleUiNoteL( aStringPointer );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1908
                CleanupStack::PopAndDestroy(); // aString
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1909
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1910
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1911
            case ERechargeBatteryNote:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1912
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1913
                iSysApLightsController->BatteryEmptyL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1914
                _LIT(KPowerPressKey,"Battery empty. Recharge");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1915
                HBufC* aString = HBufC16::NewLC(100);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1916
                TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1917
                aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1918
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1919
                ShowExampleUiNoteL( aStringPointer );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1920
                CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1921
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1922
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1923
            case ENotChargingNote:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1924
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1925
                _LIT(KPowerPressKey,"Not charging");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1926
                HBufC* aString = HBufC16::NewLC(100);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1927
                TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1928
                aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1929
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1930
                ShowExampleUiNoteL( aStringPointer );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1931
                CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1932
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1933
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1934
            case EBatteryFullUnplugChargerNote:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1935
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1936
                /*	
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1937
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1938
                iSysApLightsController->BatteryEmptyL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1939
                 _LIT(KunplugCharger,"txt_power_dpopinfo_unplug_charger_to_save_energy");                 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1940
                 HBufC* unplugCharger = HbTextResolverSymbian::LoadL(KunplugCharger);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1941
                 _LIT(KbatteryFull,"txt_power_management_dpophead_100_full");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1942
                 HBufC* batteryFull = HbTextResolverSymbian::LoadL(KbatteryFull);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1943
                 CHbDeviceNotificationDialogSymbian::NotificationL(KbatteryFullIcon,*unplugCharger,*batteryFull);  
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1944
                 */
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1945
                 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1946
                 iSysApLightsController->BatteryEmptyL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1947
                 _LIT(KPowerPressKey,"Charging complete. Unplug charger to save energy.");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1948
                 HBufC* aString = HBufC16::NewLC(200);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1949
                 TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1950
                 aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1951
                 TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1952
                 ShowExampleUiNoteL( aStringPointer );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1953
                 CleanupStack::PopAndDestroy(); // aString     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1954
                 }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1955
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1956
            case EUnplugChargerNote:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1957
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1958
                _LIT(KPowerPressKey,"Unplug charger from power supply to save energy");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1959
                HBufC* aString = HBufC16::NewLC(250);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1960
                TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1961
                aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1962
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1963
                ShowExampleUiNoteL( aStringPointer );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1964
                CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1965
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1966
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1967
            default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1968
                break;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1969
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1970
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1971
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1972
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1973
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1974
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1975
// CSysApAppUi::BatteryEmptyL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1976
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1977
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1978
void CSysApAppUi::BatteryEmptyL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1979
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1980
    iSysApLightsController->BatteryEmptyL( ETrue );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1981
    // Do not reactivate keyguard in the next startup
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1982
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 0 );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1983
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1984
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1985
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1986
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1987
// CSysApAppUi::ShowQueryL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1988
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1989
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1990
void CSysApAppUi::ShowQueryL( const TSysApConfirmationQueryIds /* aQueryId */, const TDesC& /* aValue */)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1991
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1992
    // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1993
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1994
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1995
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1996
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1997
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1998
// CSysApAppUi::HandleChargingStatusL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1999
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2000
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2001
void CSysApAppUi::HandleChargingStatusL( const TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2002
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2003
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleChargingStatusL aValue: %d"), aValue ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2004
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2005
    TBool showNote( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2006
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2007
    UpdateBatteryBarsL( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2008
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2009
    if ( iSysApPsmController && UiReady() ) 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2010
        {             
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2011
        if ( iCharging && !iSysApPsmController->ChargerConnected() ) // first time after charger connection
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2012
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2013
            iSysApPsmController->ConnectCharger( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2014
            if ( iSysApPsmController->ShowDeactivateQuery() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2015
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2016
                ShowQueryL( ESysApBattChargingPowerSavingQuery );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2017
                // Query is on the display. Don't show the note.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2018
                showNote = EFalse;               
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2019
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2020
            else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2021
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2022
                iSysApPsmController->DoEnablePartialPsm( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2023
                }              
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2024
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2025
        else if ( aValue == EChargingStatusNotConnected )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2026
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2027
            iSysApPsmController->ConnectCharger( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2028
            }            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2029
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2030
    if( showNote )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2031
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2032
        HandleChargerNotesL( aValue );    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2033
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2034
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2035
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2036
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2037
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2038
// CSysApAppUi::HandleChargerNotesL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2039
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2040
void CSysApAppUi::HandleChargerNotesL( const TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2041
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2042
    TBool showNote(StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateRinging);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2043
    if ( aValue == EChargingStatusCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2044
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2045
        iSysApLightsController->BatteryEmptyL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2046
        TRACES( RDebug::Print( _L("SysAp: charger connected") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2047
        iSysApLightsController->ChargerConnectedL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2048
        ShowChargingNoteL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2049
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2050
    //Display Not Charging note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2051
    else if ( aValue == EChargingStatusError )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2052
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2053
        if(showNote)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2054
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2055
            ShowUiNoteL( ENotChargingNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2056
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2057
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2058
    else if ( aValue == EChargingStatusChargingComplete )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2059
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2060
        iSysApLightsController->ChargingCompleteL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2061
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2062
        TSysApNoteIds note( EBatteryFullNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2063
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2064
        if ( !iSysApUsbChargerDetector.HostOnlyUsbChargingUsed() &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2065
             iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2066
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2067
            note = EBatteryFullUnplugChargerNote;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2068
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2069
        iSysApUsbChargerDetector.Reset();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2070
        if(showNote)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2071
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2072
            ShowUiNoteL( note );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2073
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2074
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2075
    else if ( aValue == EChargingStatusNotConnected )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2076
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2077
        TRACES( RDebug::Print( _L("SysAp: charger removed") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2078
        iSysApLightsController->ChargerConnectedL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2079
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2080
        if ( !iSysApUsbChargerDetector.HostOnlyUsbChargingUsed() &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2081
             iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2082
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2083
        if(showNote)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2084
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2085
                ShowUiNoteL( EUnplugChargerNote );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2086
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2087
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2088
        iSysApUsbChargerDetector.Reset();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2089
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2090
    else if ( aValue == EChargingStatusNotCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2091
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2092
        TRACES( RDebug::Print( _L("SysAp: Not charging") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2093
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2094
    else if ( aValue == EChargingStatusAlmostComplete )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2095
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2096
        TRACES( RDebug::Print( _L("SysAp: Charging almost complete") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2097
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2098
    else if ( aValue == EChargingStatusChargingContinued )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2099
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2100
        //in this case we simply want to scroll the battery bars and not turn light on or show ui note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2101
        // set lights controller iBatteryEmpty to EFalse
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2102
        iSysApLightsController->BatteryEmptyL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2103
        TRACES( RDebug::Print( _L("SysAp: charging continues") ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2104
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2105
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2106
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2107
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2108
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2109
// CSysApAppUi::UpdateBatteryBarsL( const TInt aState )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2110
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2111
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2112
void CSysApAppUi::UpdateBatteryBarsL( const TInt  /* aState */)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2113
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2114
    TInt state( StateOfProperty( KPSUidHWRMPowerState, KHWRMChargingStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2115
//    TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL aState: %d, chargerState:%d"), aState, state ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2116
    HandleUsbCharger( state );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2117
    if( state == EChargingStatusCharging ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2118
        state == EChargingStatusChargingContinued ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2119
        state == EChargingStatusAlmostComplete )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2120
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2121
        if ( !iCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2122
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2123
            TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL: Starting Charging") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2124
            iCharging = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2125
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2126
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2127
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2128
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2129
        if ( iCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2130
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2131
            TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL: Stopping Charging") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2132
            iCharging = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2133
            }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2134
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2135
    
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2136
    if ( !iSysApPsmController ) // created here if first state change has not occurred yet
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2137
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2138
        iSysApPsmController = CSysApPsmController::NewL( *this );        
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2139
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2140
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2141
    if ( iSysApPsmController )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2142
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2143
        if ( iSysApPsmController->FullPsmEnabled() )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2144
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2145
             // activate psm indicator 
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2146
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2147
        else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2148
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2149
            // deactivate psm indicator
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2150
            }            
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2151
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2152
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2153
       if ( iSysApBatteryInfoController )        
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2154
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2155
         iSysApBatteryInfoController->BatteryLevelUpdatedL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2156
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2157
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2158
     }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2159
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2160
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2161
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2162
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2163
// CSysApAppUi::ShowChargingNoteL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2164
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2165
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2166
void CSysApAppUi::ShowChargingNoteL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2167
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2168
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowChargingNoteL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2169
    TBool showNote( ETrue );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2170
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2171
    TInt swState( StateOfProperty( KPSUidStartup, KPSGlobalSystemState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2172
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowChargingNoteL: swState: %d"), swState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2173
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2174
    if( UiReady() || swState == ESwStateSecurityCheck )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2175
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2176
        if ( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) ==  EPSCTsyCallStateRinging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2177
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2178
            showNote = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2179
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2180
        TRACES( RDebug::Print( _L("CSysApAppUi::ShowChargingNoteL KCTsyCallState=%d"), StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2181
        if ( showNote ) // Power Mgmt UI spec defines that no Charging note is shown while the phone is ringing/alerting
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2182
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2183
            /* 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2184
            TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2185
            _LIT(KChargingNote,"txt_power_management_dblist_charging");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2186
            HBufC* chargingNote = HbTextResolverSymbian::LoadL(KChargingNote);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2187
            CHbDeviceNotificationDialogSymbian::NotificationL(KNullDesC,*chargingNote);     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2188
            */
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2189
             
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2190
            _LIT(KChargingNote,"Charging");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2191
            HBufC* aString = HBufC16::NewLC(50);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2192
            TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2193
            aStringPointer.Set(KChargingNote);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2194
            TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2195
            ShowExampleUiNoteL( aStringPointer );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2196
            CleanupStack::PopAndDestroy(); // aString            
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2197
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2198
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2199
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2200
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2201
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2202
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2203
// CSysApAppUi::HandleUsbCharger
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2204
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2205
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2206
void CSysApAppUi::HandleUsbCharger( const TInt aValue )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2207
    {        
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2208
    if ( aValue == EChargingStatusCharging ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2209
         aValue == EChargingStatusChargingContinued ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2210
         aValue == EChargingStatusAlmostComplete )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2211
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2212
        iSysApUsbChargerDetector.SetChargingUsed( ETrue );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2213
        if ( !iSysApUsbIndicatorController &&
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2214
             iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) &&
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2215
             iSysApFeatureManager->Supported( KSysApFeatureIdUsbChargingWithoutReminderNotes ) )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2216
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2217
            // Start observing USB state for the reminder note
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2218
            TRAPD ( usbErr, iSysApUsbIndicatorController = CreateSysApUsbIndicatorL( *this ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2219
            if ( usbErr )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2220
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2221
                TRACES( RDebug::Print(
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2222
                    _L("CSysApAppUi::HandleUsbCharger: error in constructing USB ind. controller %d" ),
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2223
                    usbErr ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2224
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2225
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2226
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2227
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2228
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2229
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2230
// CSysApAppUi::HandleCurrentCallStateChangeL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2231
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2232
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2233
void CSysApAppUi::HandleCurrentCallStateChangeL( TInt aCurrentCallState )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2234
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2235
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: KUidCurrentCall: %d" ), aCurrentCallState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2236
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2237
    switch ( aCurrentCallState )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2238
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2239
        case EPSCTsyCallStateRinging:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2240
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2241
            iSysApLightsController->CallComingInL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2242
            // Disable keylock when a call is coming in
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2243
            if ( iKeyLockEnabled || iDeviceLockEnabled || iKeyLockOnBeforeCradle || iKeyLockOnBeforeAlarm )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2244
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2245
                TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: EPSCTsyCallStateRinging: disable keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2246
                iKeyLockOnBeforeCall = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2247
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2248
                if ( iKeyLockEnabled || iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2249
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2250
                    if ( !iSysApFeatureManager->TouchUnlockStrokeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2251
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2252
                        iKeyguardController->DisableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2253
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2254
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2255
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2256
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2257
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2258
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2259
        case EPSCTsyCallStateDialling:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2260
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2261
            // Disable keypad lock during an emergency call
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2262
            // no need to disable the key lock when a call is made using the wireless car-kit
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2263
            // but if the call is an emergency one then we will disable the keypad lock
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2264
            if ( iKeyLockEnabled || iDeviceLockEnabled || iKeyLockOnBeforeCradle )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2265
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2266
                TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: EPSCTsyCallStateDialling: disable keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2267
                iKeyLockOnBeforeCall = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2268
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2269
                if ( IsEmergencyCall() && (iKeyLockEnabled || iDeviceLockEnabled ))
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2270
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2271
                    iKeyguardController->DisableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2272
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2273
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2274
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2275
            // Enable signal & network indicators when an emergency call is made in Offline Mode
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2276
            if( iSysApOfflineModeController->OfflineModeActive() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2277
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2278
                    // Signal indicators not updated with VoIP call
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2279
                    if ( StateOfProperty(KPSUidCtsyCallInformation, KCTsyCallType) != EPSCTsyCallTypeVoIP) 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2280
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2281
                        iEmergencyCallActive = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2282
                        // not supporting this
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2283
                        // UpdateSignalBarsL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2284
                        // SetSignalIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2285
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2286
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2287
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2288
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2289
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2290
        case EPSCTsyCallStateConnected:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2291
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2292
            if (StateOfProperty(KPSUidCtsyCallInformation, KCTsyCallType) == EPSCTsyCallTypeCSVoice)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2293
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2294
                // Check if GPRS suspended note is required
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2295
                iCallActivated = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2296
                // not supporting this
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2297
                // HandleGprsNotesL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2298
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2299
            if ( iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2300
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2301
                // Enable keylock via autolock emulation if device lock enabled. 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2302
                // Otherwise e.g. messages can be read using softkeys during ongoing call.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2303
                iKeyguardController->EnableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2304
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2305
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2306
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2307
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2308
        case EPSCTsyCallStateNone:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2309
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2310
            // Reset timers in ScreenSaver and Autolock
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2311
            User::ResetInactivityTime();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2312
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2313
            if ( iEmergencyCallActive )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2314
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2315
                iEmergencyCallActive = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2316
                // not supporting this
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2317
                // UpdateSignalBarsL( 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2318
                // SetSignalIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2319
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2320
            if ( iKeyLockOnBeforeCall )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2321
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2322
                TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: EPSCTsyCallStateNone: enable keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2323
                iKeyLockOnBeforeCall = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2324
                if ( !iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2325
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2326
                    if ( !iKeyLockOnBeforeCradle && !iKeyLockOnBeforeAlarm &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2327
                          !iSysApFeatureManager->TouchUnlockStrokeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2328
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2329
                        if ( iSysApCenRepController->GetInt( KCRUidCommonTelephonySettings, KSettingsSummaryAfterCall ) == 1 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2330
                            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2331
                            // Let's not hide "Summary After Call" dialog
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2332
                            iKeyguardController->EnableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2333
                            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2334
                        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2335
                            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2336
                            iKeyguardController->EnableKeyguard(ETrue);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2337
                            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2338
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2339
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2340
                else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2341
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2342
                    iKeyguardController->EnableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2343
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2344
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2345
            if ( iShowkeypadActivatedNoteAfterSoftReject )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2346
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2347
                ShowUiNoteL( EKeypadActiveNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2348
                iShowkeypadActivatedNoteAfterSoftReject = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2349
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2350
            iCallActivated = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2351
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2352
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2353
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2354
        default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2355
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2356
        }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2357
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2358
    if ( aCurrentCallState != EPSCTsyCallStateRinging )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2359
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2360
        iSysApLightsController->CallComingInL( EFalse );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2361
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2362
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2363
    SetIhfIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2364
    SetHacIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2365
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2366
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2367
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2368
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2369
/**
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2370
 * To check the for an emergency call. 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2371
 * 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2372
 * @return ETrue if there is an emergency call active otherwise, EFalse.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2373
 */
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2374
TBool CSysApAppUi::IsEmergencyCall()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2375
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2376
        TBool retVal( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2377
        TInt err( KErrNone );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2378
        TInt state( 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2379
     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2380
        err = RProperty::Get(KPSUidCtsyEmergencyCallInfo, KCTSYEmergencyCallInfo, state );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2381
        if ( err == KErrNone && state )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2382
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2383
            retVal = ETrue;            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2384
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2385
        return retVal;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2386
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2387
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2388
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2389
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2390
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2391
// CSysApAppUi::IsStateNormal()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2392
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2393
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2394
TBool CSysApAppUi::IsStateNormal() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2395
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2396
    TInt state;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2397
    TInt errorCode =
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2398
        RProperty::Get( KPSUidStartup, KPSGlobalSystemState, state );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2399
    if ( errorCode == KErrNone )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2400
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2401
        return state == ESwStateNormalRfOn ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2402
               state == ESwStateNormalRfOff ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2403
               state == ESwStateNormalBTSap;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2404
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2405
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2406
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2407
        TRACES( RDebug::Print( _L( "CSysApAppUi::IsStateNormal: Failed to read global system state, error code %d." ), errorCode ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2408
        return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2409
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2410
    }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2411
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2412
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2413
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2414
// CSysApAppUi::HandleAccessoryProfileInStartupL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2415
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2416
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2417
void CSysApAppUi::HandleAccessoryProfileInStartupL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2418
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2419
    TRACES( RDebug::Print( _L( "CSysApAppUi::HandleAccessoryProfileInStartupL" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2420
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2421
    if ( !iSysApOfflineModeController->OfflineModeActive() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2422
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2423
        iIgnoreAccessorySpecificProfileChanges = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2424
        TBool accessoryConnectedInShutdown( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2425
        TInt accessoryTemp( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2426
        if ( accessoryTemp == 1 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2427
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2428
            accessoryConnectedInShutdown = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2429
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2430
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2431
        TBool accessoryConnectedNow ( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2432
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2433
        TAccMode accessoryState(EAccModeHandPortable);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2434
        if ( iSysApAccessoryObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2435
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2436
            accessoryState = iSysApAccessoryObserver->GetAccessoryMode();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2437
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2438
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2439
        if ( accessoryState != EAccModeHandPortable )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2440
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2441
            accessoryConnectedNow = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2442
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2443
        TRACES( RDebug::Print( _L( "CSysApAppUi::HandleAccessoryProfileInStartupL: accessoryConnectedInShutdown: %d, accessoryConnectedNow: %d" ),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2444
                              accessoryConnectedInShutdown, accessoryConnectedNow ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2445
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2446
        if ( accessoryConnectedInShutdown && !accessoryConnectedNow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2447
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2448
            HandleAccessoryDisconnectedL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2449
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2450
        else if ( !accessoryConnectedInShutdown && accessoryConnectedNow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2451
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2452
            HandleAccessoryConnectedL( accessoryState );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2453
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2454
        else if ( !accessoryConnectedNow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2455
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2456
            // not supporting this 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2457
            // TInt activeProfile ( ActiveProfileId() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2458
            // SysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApActiveProfileBeforeAccessoryConnected, activeProfile );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2459
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2460
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2461
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2462
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2463
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2464
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2465
// CSysApAppUi::CenRepController()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2466
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2467
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2468
CSysApCenRepController& CSysApAppUi::CenRepController()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2469
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2470
    __ASSERT_ALWAYS( iSysApCenRepController, User::Panic( _L("CSysApAppUi::CenRepController"), KErrBadHandle ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2471
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2472
    return *iSysApCenRepController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2473
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2474
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2475
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2476
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2477
// CSysApAppUi::LogsObserverL
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2478
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2479
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2480
CSysApCenRepLogsObserver& CSysApAppUi::LogsObserverL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2481
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2482
    TRACES( RDebug::Print( _L("CSysApAppUi::LogsObserverL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2483
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2484
    // Create Logs observer when it is needed for the first time
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2485
    if ( !iSysApCenRepLogsObserver )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2486
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2487
        iSysApCenRepLogsObserver = CSysApCenRepLogsObserver::NewL( *this );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2488
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2489
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2490
    return *iSysApCenRepLogsObserver;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2491
    }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2492
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2493
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2494
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2495
// CSysApAppUi::HandleWlanIndicator()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2496
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2497
void CSysApAppUi::HandleWlanIndicatorL( TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2498
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2499
    if ( aValue == EPSWlanIndicatorAvailable )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2500
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2501
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2502
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2503
    else if ( aValue == EPSWlanIndicatorActive )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2504
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2505
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2506
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2507
    else if ( aValue == EPSWlanIndicatorActiveSecure )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2508
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2509
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2510
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2511
    else // No indication required
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2512
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2513
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2514
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2515
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2516
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2517
void CSysApAppUi::ShowNotificationDialog(const TDesC& noteText)const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2518
{
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2519
    //Todo:4.Notification--Just Popup message
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2520
    //Todo: #include <HbDeviceNotificationDialogSymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2521
    CHbDeviceNotificationDialogSymbian *notificationDialog =  CHbDeviceNotificationDialogSymbian::NewL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2522
    CleanupStack::PushL(notificationDialog);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2523
    notificationDialog->SetTextL(noteText);//noteText with Qm file input
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2524
    notificationDialog->SetTimeout(100);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2525
    notificationDialog->ShowL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2526
    CleanupStack::PopAndDestroy(notificationDialog);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2527
}
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2528
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2529
void CSysApAppUi::SetKeyLockEnabledL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2530
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2531
    iKeyLockEnabled = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2532
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 1 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2533
    // not supporting indicator 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2534
//    SetIndicatorStateL( EAknIndicatorKeyguard, EAknIndicatorStateOn );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2535
    iSysApLightsController->KeylockStateChangedL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2536
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2537
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2538
void CSysApAppUi::SetKeyLockDisabledL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2539
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2540
    iKeyLockEnabled = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2541
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2542
    // SetIndicatorStateL( EAknIndicatorKeyguard, EAknIndicatorStateOff );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2543
    if (! iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2544
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2545
        iSysApLightsController->KeylockStateChangedL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2546
        if ( iSysApFeatureManager->MmcHotSwapSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2547
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2548
            if ( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateRinging && StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateAlerting )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2549
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2550
                // RunUnlockNotifierL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2551
                // need to handle MMC unlock query in next sub
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2552
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2553
            }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2554
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2555
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2556
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2557
void CSysApAppUi::SetLightsOnUnlockNoteL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2558
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2559
    iSysApLightsController->SetLightsOnUnlockNoteL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2560
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2561
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2562
void CSysApAppUi::SetLightsOnEcsQueryL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2563
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2564
    iSysApLightsController->SetLightsOnEcsQueryL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2565
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2566
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2567
void CSysApAppUi::SetLightsOnSecurityQueryL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2568
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2569
    iSysApLightsController->SetLightsOnSecurityQueryL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2570
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2571
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2572
TBool CSysApAppUi::CheckLongPowerKeyPressed()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2573
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2574
    return iCheckLongPowerKeyEvent;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2575
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2576
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2577
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2578
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2579
// CSysApAppUi::HandleKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2580
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2581
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2582
TKeyResponse CSysApAppUi::HandleKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2583
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2584
    if ( ! iShutdownStarted )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2585
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2586
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleKeyEventL: aKeyEvent.iCode:%d, aKeyEvent.iScanCode:%d, aType:%d, iIgnoreNextPowerKeyUpEvent:%d, iPowerKeyPopupMenuActive:%d, iLastPowerKeyWasShort:%d, iPowerKeyPopupMenuDismissed:%d"),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2587
                               aKeyEvent.iCode, aKeyEvent.iScanCode, aType, iIgnoreNextPowerKeyUpEvent, iPowerKeyPopupMenuActive, iLastPowerKeyWasShort, iPowerKeyPopupMenuDismissed ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2588
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2589
#ifdef _DEBUG
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2590
        // camery latency measurement environment instrumentation, don't remove
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2591
        if ( aType == EEventKey && aKeyEvent.iCode == EKeyCamera )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2592
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2593
            TRACES( RDebug::Print( _L("e_KEY_EVENT_SENDING 0") ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2594
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2595
#endif // _DEBUG
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2596
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2597
        TKeyResponse response(EKeyWasNotConsumed);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2598
        if (response)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2599
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2600
            //Do nothing:: To supress warning
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2601
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2602
        if (iSysApKeyManagement && aKeyEvent.iCode != EKeyPowerOff && aKeyEvent.iCode != 'E')
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2603
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2604
            response = iSysApKeyManagement->HandleKeyEventL(aKeyEvent, aType );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2605
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2606
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2607
        if( aType == EEventKey )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2608
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2609
            switch ( aKeyEvent.iCode )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2610
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2611
#ifdef _DEBUG
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2612
                case 'E': //For testing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2613
                    Exit();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2614
                    break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2615
#endif
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2616
                case EKeyPowerOff:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2617
                    //Short power key press
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2618
                    iKeyBoardRepeatCount++;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2619
                    if( aKeyEvent.iRepeats == 0 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2620
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2621
                        TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL, Short powerkey") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2622
                        iLastPowerKeyWasShort = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2623
                        TRACES( RDebug::Print( _L("CSysApAppUi::Key was consumed by pressing short power") ) );          
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2624
                        //Powermenu
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2625
                        if (iPowerMenuDialog != NULL)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2626
                            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2627
                            //PowerMenu already exist
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2628
                            delete iPowerMenuDialog;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2629
                            iPowerMenuDialog = NULL;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2630
                            } 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2631
                            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2632
                        iPowerMenuDialog = CHbDevicePowerMenuSymbian::NewL(*this);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2633
                        iPowerMenuDialog->ShowL();                        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2634
                        iIgnoreNextPowerKeyRepeats = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2635
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2636
                    //Long power key press
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2637
                    else if( aKeyEvent.iRepeats > 0 && iKeyBoardRepeatCount >= iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApPowerkeyRepeatcount ))
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2638
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2639
                        iKeyBoardRepeatCount = -1;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2640
                        TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL, Long powerkey") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2641
                        iLastPowerKeyWasShort = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2642
                        HandleLongPowerKeyPressedL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2643
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2644
                    break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2645
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2646
                default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2647
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2648
                    TKeyResponse response = EKeyWasNotConsumed;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2649
                    if (iSysApKeyManagement)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2650
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2651
                        response = iSysApKeyManagement->HandleKeyEventL(aKeyEvent, aType );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2652
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2653
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2654
                    if ( response == EKeyWasNotConsumed ) // none of the plugins consumed the key, offer it to default handling
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2655
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2656
                        iSysApDefaultKeyHandler->HandleKeyEventL( aKeyEvent, aType );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2657
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2658
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2659
                    break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2660
                }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2661
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2662
        else if( aType == EEventKeyUp )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2663
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2664
            if( aKeyEvent.iScanCode == EStdKeyDevice2 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2665
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2666
                if ( iIgnoreNextPowerKeyUpEvent )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2667
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2668
                    if ( !iPowerKeyPopupMenuDismissed ) // If the popup menu has been dismissed, do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2669
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2670
                        iPowerKeyPopupMenuActive = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2671
                        iIgnoreNextPowerKeyUpEvent = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2672
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2673
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2674
                else if( iLastPowerKeyWasShort )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2675
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2676
                    if ( iPowerKeyPopupMenuActive )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2677
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2678
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2679
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2680
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2681
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2682
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2683
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2684
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleKeyEventL:ended, aKeyEvent.iCode:%d, aKeyEvent.iScanCode:%d, aType:%d, iIgnoreNextPowerKeyUpEvent:%d, iPowerKeyPopupMenuActive:%d, iLastPowerKeyWasShort:%d, iPowerKeyPopupMenuDismissed:%d"),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2685
                               aKeyEvent.iCode, aKeyEvent.iScanCode, aType, iIgnoreNextPowerKeyUpEvent, iPowerKeyPopupMenuActive, iLastPowerKeyWasShort, iPowerKeyPopupMenuDismissed ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2686
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2687
    else // shutdown started
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2688
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2689
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleKeyEventL: aKeyEvent.iCode:%d, aKeyEvent.iScanCode:%d, aType:%d"),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2690
                               aKeyEvent.iCode, aKeyEvent.iScanCode, aType ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2691
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2692
        // When shutdown has been started, only device mode key events are passed to plug-in framework
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2693
        // This for enabling plug-in activities during shutdown animation
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2694
        if ( IsDeviceModeKey( aKeyEvent ) ) // Other key events are not passed, because they must cancel the shutdown animation as stated in UI spefication
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2695
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2696
            if ( aType == EEventKey && iSysApKeyManagement )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2697
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2698
                iSysApKeyManagement->HandleKeyEventL( aKeyEvent, aType );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2699
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2700
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2701
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleKeyEventL: ended") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2702
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2703
    return EKeyWasConsumed;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2704
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2705
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2706
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2707
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2708
// CSysApAppUi::HandleCommandL( TInt aCommand)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2709
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2710
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2711
void CSysApAppUi::HandleCommandL( TInt aCommand )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2712
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2713
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleCommandL aCommend: %d"), aCommand ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2714
    switch ( aCommand )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2715
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2716
        case EEikCmdExit:   // EAknCmdExit
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2717
            Exit();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2718
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2719
        default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2720
            break;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2721
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2722
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2723
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2724
TBool CSysApAppUi::ReleasePowerMenuCustomDialogMemory()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2725
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2726
    if (iPowerMenuDialog!=NULL)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2727
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2728
        //PowerMenu already exist
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2729
        delete iPowerMenuDialog;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2730
        iPowerMenuDialog = NULL;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2731
        return ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2732
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2733
    return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2734
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2735
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2736
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2737
//end of file