coreapplicationuis/SysAp/Src/SysApAppUi.cpp
author hgs
Wed, 29 Sep 2010 15:24:56 +0300
changeset 74 1505405bc645
parent 72 56a7be608841
child 77 b01c07dfcf84
permissions -rw-r--r--
201037_04
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 <hbsymbianvariant.h>
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    34
#include <hbtextresolversymbian.h>
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    35
#include <UikonInternalPSKeys.h>
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    37
//#include "SysApWsClient.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    38
#include "SysApFeatureManager.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    39
#include "SysApNspsHandler.h"
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#include "SysApPubSubObserver.h"
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    41
#include "sysapdefaultkeyhandler.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    42
#include "SysApStartupController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    43
#include "MSysApOfflineModeController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    44
#include "SysApCenRepController.h"
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
#include "sysapcenreplightsettingsobserver.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#include "SysApCenRepLogsObserver.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
#include "SysApCenRepBTObserver.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
#include "SysApCenRepHacSettingObserver.h"
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    49
#include "sysapaudioroutingobserver.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    50
#include "sysapbatteryinfocontroller.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    51
#include "SysApSimChanged.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    52
#include "MSysApBtSapController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    53
#include "MSysApBtController.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    54
#include "MSysApUsbIndicator.h"
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    55
#include "sysapkeymanagement.h"
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
#include "SysApShutdownImage.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
#include "SysApKeySndHandler.h"
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
    58
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    59
#include "SysApShutdownAnimation.h"
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    60
#include "SysApEtelConnector.h"
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    61
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
    62
#ifdef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
    63
#include "sysapdrivelist.h"
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
    64
#include "sysapdriveunlockhandler.h"
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
    65
#include "sysapdriveejecthandler.h"
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
    66
#include "hbdeviceinputdialogsymbian.h"
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
    67
#endif // RD_MULTIPLE_DRIVE
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    68
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    69
#include <settingsinternalcrkeys.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    70
#include <keyguardaccessapi.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    71
#include <eikdef.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    72
#include <eikenv.h>
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    73
#include <UsbWatcherInternalPSKeys.h> // USB transfer modes
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    74
#include <usbpersonalityids.h>
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    75
#include "sysap.rsg"
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    76
#include <hbindicatorsymbian.h>
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    78
class CHbSymbianVariant;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
const TInt KModifierMask( 0 );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
_LIT_SECURITY_POLICY_PASS(KAlwaysPassPolicy);
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
_LIT_SECURITY_POLICY_C1(KWriteDeviceDataPolicy, ECapabilityWriteDeviceData);
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    82
const TInt KDelayBeforeNextScanningRound( 1000000 );
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    83
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    84
/* ENABLE ANIMATION: Add id of background image.
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    85
   Example: const TInt KBackgroundImageID = EMbmSysapQgn_graf_startup_bg;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    86
   If there is no image defined, clear screen is used.*/
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    87
const TInt KBackgroundImageID = 0;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    88
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    89
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    90
_LIT(KAccesoryPlugin,"com.nokia.accessory.indicatorplugin/1.0");
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    91
_LIT(KAccMode, "AccMode");
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    92
_LIT(KAccPhyConType, "AccType");
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
    93
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    94
_LIT(KPsmPlugin,"com.nokia.hb.powersavemodeplugin/1.0");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    95
_LIT(KPsm,"PSM");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    96
_LIT(KCharging,"Charging");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    97
_LIT(KPsmlocalisationfile, "powermanagement_");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    98
_LIT(KtsfilePath, "z:/resource/qt/translations/");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
    99
_LIT(KlowbatteryIcon,"qtg_small_bt_low_battery.svg");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   100
_LIT(KbatteryFullIcon,"qtg_status_battery.svg");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   101
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   102
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
// ============================ MEMBER FUNCTIONS ==============================
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
// CSysApAppUi::CSysApAppUi()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   110
CSysApAppUi::CSysApAppUi()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   111
    :iSysApShutdownImage(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   112
     iPowerMenuDialog(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   113
     iDeviceLockEnabled(EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   114
     iKeyLockEnabled(EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   115
     iPowerKeyPopupMenuActive(EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   116
     iResourcesFreed (EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   117
     iShutdownStarted (EFalse),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   118
     iSysApAudioRoutingObserver (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   119
     iSysApBatteryInfoController (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   120
     iSysApPsmController(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   121
     iSapTimer (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   122
     iSysApCenRepLogsObserver (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   123
     iSysApUsbIndicatorController(NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   124
     iKeyguardController (NULL),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   125
     iKeyLockOnBeforeCall (EFalse),
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   126
     iCheckLongPowerKeyEvent (EFalse),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   127
     iMMCEjectUsed( EFalse ),               
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   128
     iMemCardPwdDialog(NULL)
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   129
	{
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   130
	TRACES( RDebug::Print( _L("CSysApAppUi::CSysApAppUi()") ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
// CSysApAppUi::ConstructL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
void CSysApAppUi::ConstructL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: START") ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   140
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying BaseConstructL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   141
    BaseConstructL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: BaseConstructL() OK") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
    iEikonEnv->SetSystem( ETrue );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
    iEikonEnv->WsSession().ComputeMode( RWsSession::EPriorityControlDisabled );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   147
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
    RThread().SetProcessPriority( EPriorityForeground );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   149
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
    TInt mode;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
    User::LeaveIfError( RProperty::Get( KPSUidStartup, KPSGlobalStartupMode, mode ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   152
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: KPSGlobalStartupMode = %d"), mode ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   153
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   154
    //SysAp needs to capture PowerKey events because it handles all functionality related to that
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   155
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CEikApplication::RootWin()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   156
    RWindowGroup groupWin = iCoeEnv->RootWin();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   157
    User::LeaveIfError ( iCapturedEKeyPowerOff = groupWin.CaptureKey( EKeyPowerOff, KModifierMask, KModifierMask ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   158
    User::LeaveIfError ( iCapturedEKeyPowerOffUpAndDowns = groupWin.CaptureKeyUpAndDowns( EStdKeyDevice2, KModifierMask, KModifierMask ) );
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
   159
     
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   160
    TRACES ( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApDefaultKeyHandler::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   161
    iSysApDefaultKeyHandler = CSysApDefaultKeyHandler::NewL(*this);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   162
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   163
    // Define P&S keys "owned" by SysAp
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   164
    RProperty::Define( KPSUidUikon, KUikMMCInserted, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   165
    //initially assuming that the memory card is not inserted
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   166
    RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   167
    TDriveInfo driveInfo;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   168
    TInt driveNumber; 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   169
    TInt err;    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   170
    RFs& fileServer = iEikonEnv->FsSession();  
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   171
    for ( driveNumber = EDriveD; driveNumber < EDriveZ; driveNumber++ )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   172
         {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   173
      err = fileServer.Drive(driveInfo,driveNumber);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   174
          if(driveNumber == EDriveF && err == KErrNone && driveInfo.iType == EMediaHardDisk &&  driveInfo.iDriveAtt & KDriveAttRemovable)     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   175
            {     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   176
            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
   177
            RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   178
                break;  // Memory card drive found...     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   179
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   180
         }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   181
           
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
    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
   183
    iSysApFeatureManager = CSysApFeatureManager::NewL();
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   184
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
    // Setup USB charging detector
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   186
     iSysApUsbChargerDetector.EnableUsbCharging(
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   187
         iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   188
         iSysApFeatureManager->Supported( KSysApFeatureIdUsbChargingWithoutReminderNotes ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   189
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
    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
   191
    iSysApPubSubObserver = CSysApPubSubObserver::NewL( *this );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   192
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsPoCIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsPoCIndicator, ECoreAppUIsPocIndicatorUninitialized );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsPoCMissedIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsPoCMissedIndicator, ECoreAppUIsPocMissedIndicatorUninitialized );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
    // 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
   199
    // 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
   200
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsUSBFileTransfer, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsVideoSharingIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsVideoSharingIndicator, ECoreAppUIsVideoSharingIndicatorUninitialized );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsHideAlarm, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsDisableKeyguard, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsSoftReject, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsUipInd, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMessageToneQuit, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsNspsRawKeyEvent, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsLightsRawKeyEvent, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMmcRemovedWithoutEject, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsAlarmLightActive, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsVTForcedLightsOn, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsSSForcedLightsOn, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsATCForcedLightsOn, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    RProperty::Define( KPSUidCoreApplicationUIs, KLightsControl, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsTarmIndicator, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMtvRecStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsMtvDvbhStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
    RProperty::Define( KPSUidCoreApplicationUIs, KCoreAppUIsNewEmailStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
    // Initialize P&S keys "owned" by SysAp
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsHideAlarm, ECoreAppUIsHideAlarmUninitialized );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   225
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   226
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApAccessoryObserver::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   227
    iSysApAccessoryObserver = CSysApAccessoryObserver::NewL( *this );
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 CSysApCenRepController::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   230
    iSysApCenRepController = CSysApCenRepController::NewL();
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 CSysApCenRepLightSettingsObserver::NewL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   233
    iSysApCenRepLightSettingsObserver = CSysApCenRepLightSettingsObserver::NewL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   234
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   235
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApCenRepBtObserver::NewL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   236
    iSysApCenRepBtObserver = CSysApCenRepBtObserver::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
    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
   239
    iSysApStartupController = CSysApStartupController::NewL( *this, iSysApFeatureManager->OfflineModeSupported() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   241
    iActiveProfileBeforeOfflineMode = iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApProfileBeforeOfflineMode );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   242
           
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   243
    iSysApFeatureManager->FeatureVariationCheckDone();        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   244
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
    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
   246
    iSysApLightsController = CSysApLightsController::NewL( *this,
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
                                                           iSysApCenRepLightSettingsObserver->GetLightsTimeout(),
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
                                                           iSysApFeatureManager->CoverDisplaySupported() );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   249
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   250
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL : trying CreateSysApOfflineModeControllerL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   251
    iSysApOfflineModeController = CreateSysApOfflineModeControllerL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   252
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   253
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL : trying DoInitialSwStateCheckL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   254
    iSysApStartupController->DoInitialSwStateCheckL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   255
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   256
    TRACES( RDebug::Print( _L("CCSysApAppUi::ConstructL  trying CSysApCenRepHacSettingObserver::NewL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   257
    iSysApCenRepHacSettingObserver = CSysApCenRepHacSettingObserver::NewL( *this ); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   258
    
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   259
#ifndef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   260
    if ( iSysApFeatureManager->MmcSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   261
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   262
        iSysApMMCObserver = CSysApMMCObserver::NewL( this, &iEikonEnv->FsSession(), iSysApFeatureManager->MmcHotSwapSupported() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   263
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   264
#else // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   265
    iSysApDriveList = CSysApDriveList::NewL( iEikonEnv->FsSession() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   266
    if ( iSysApFeatureManager->MmcSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   267
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   268
        iSysApMMCObserver = CSysApMMCObserver::NewL(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   269
            iEikonEnv->FsSession(), *iSysApDriveList, *this, iSysApFeatureManager->MmcHotSwapSupported() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   270
        iSysApDriveUnlockHandler = CSysApDriveUnlockHandler::NewL(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   271
            *iSysApDriveList, *this, iSysApFeatureManager->MemoryCardLockSupported() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   272
        iSysApDriveEjectHandler = CSysApDriveEjectHandler::NewL(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   273
            *iSysApDriveList, *this, iEikonEnv->FsSession() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   274
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   275
#endif // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   276
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
    //Instantiate the KEF plugin manager
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   278
    //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
   279
    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
   280
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
    if (keyManagementErr)
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   282
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   283
        TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL : CSysApKeyManagement::NewL returns error=%d"), keyManagementErr ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   284
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   285
    
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   286
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApEtelConnector::NewL()") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   287
    iSysApEtelConnector = CSysApEtelConnector::NewL( *this );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   288
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
    // Initialize animdll for handling side volume keys
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
    // (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
   291
    iSysApKeySndHandler = CSysApKeySndHandler::NewL(iEikonEnv->WsSession());
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   292
    iKeyguardController = CKeyguardAccessApi::NewL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CSysApShutdownImage::NewL()") ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   294
    iSysApShutdownImage = CSysApShutdownImage::NewL();//NULL; //
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   295
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
    // 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
   297
    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
   298
    iSysApNspsHandler = CSysApNspsHandler::NewL( iEikonEnv->WsSession(), iSysApShutdownImage->ShutdownCoeControlWindow() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   300
    RProperty::Define( KPSUidCoreApplicationUIs,KCoreAppUIsPowerMenuCustomDialogStatus, RProperty::EInt, KAlwaysPassPolicy, KWriteDeviceDataPolicy );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   301
    RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsPowerMenuCustomDialogStatus, ECoreAppUIsPowerMenuCustomDialogUninitialized );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   302
    
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   303
	TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: trying CHbIndicatorSymbian::NewL()") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   304
    iHbIndicatorSymbian = CHbIndicatorSymbian::NewL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   305
	
54
ee8c7592be5a 201031_02
hgs
parents: 51
diff changeset
   306
	  TBool result = HbTextResolverSymbian::Init(KPsmlocalisationfile, KtsfilePath);
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   307
	
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   308
    TRACES( RDebug::Print( _L("CSysApAppUi::ConstructL: END") ) );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   309
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   310
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   311
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   312
// CSysApAppUi::FreeResources()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   313
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   314
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   315
void CSysApAppUi::FreeResources()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   316
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   317
    TRACES( RDebug::Print( _L("CSysApAppUi::FreeResources") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   318
    delete iSysApBatteryInfoController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   319
    delete iSysApPsmController;
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   320
    delete iVariantAccState; 
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   321
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   322
    delete iSysApAudioRoutingObserver;
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   323
    
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   324
    if (iMemCardPwdDialog!=NULL)
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   325
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   326
        //PowerMenu already exist
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   327
        delete iMemCardPwdDialog;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   328
        iMemCardPwdDialog = NULL;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   329
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   330
    
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   331
    if ( iSapTimer )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   332
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   333
        iSapTimer->Cancel();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   334
        delete iSapTimer;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   335
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   336
    //Powermenu
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   337
    if (iPowerMenuDialog!=NULL)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   338
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   339
        //PowerMenu already exist
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   340
        delete iPowerMenuDialog;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   341
        iPowerMenuDialog = NULL;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   342
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   343
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   344
    RWindowGroup groupWin = iCoeEnv->RootWin();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   345
    groupWin.CancelCaptureKey( iCapturedEKeyPowerOff );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   346
    groupWin.CancelCaptureKeyUpAndDowns( iCapturedEKeyPowerOffUpAndDowns );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   347
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   348
    delete iSysApDefaultKeyHandler;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   349
    delete iSysApCenRepLightSettingsObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   350
    delete iSysApCenRepBtObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   351
    delete iSysApCenRepHacSettingObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   352
    delete iSysApCenRepController;
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
   353
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   354
    delete iSysApPubSubObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   355
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   356
    delete iSysApLightsController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   357
    delete iSysApFeatureManager;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   358
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   359
    delete iSysApCenRepLogsObserver;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   360
    delete iSysApOfflineModeController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   361
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   362
    delete iSysApUsbIndicatorController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   363
    delete iKeyguardController;
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   364
    delete iHbIndicatorSymbian; 
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   365
    delete iSysApKeyManagement;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   366
    iSysApKeyManagement = NULL;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   367
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   368
    REComSession::FinalClose();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   369
    iResourcesFreed = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   370
    TRACES( RDebug::Print( _L("CSysApAppUi::FreeResources:END") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   371
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   372
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   373
// ---------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   374
// CStartupAppUi::PrepareToExit()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   375
// ---------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   376
void CSysApAppUi::PrepareToExit()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   377
    {
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   378
    TRACES(RDebug::Print( _L("CSysApAppUi::PrepareToExit()")));
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   379
    CEikAppUi::PrepareToExit();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   380
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   381
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   383
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   384
// CSysApAppUi::StateOfProperty()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   385
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   386
TInt CSysApAppUi::StateOfProperty( const TUid& aCategory, const TUint aKey ) const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   387
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   388
    TInt err( KErrNone );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   389
    TInt value( 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   390
    err = RProperty::Get( aCategory, aKey, value );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   391
    if ( err )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   392
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   393
        TRACES( RDebug::Print( _L("CSysApAppUi::StateOfProperty. RProperty::Get: err=%d"), err ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   394
        return err;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   395
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   396
    return value;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   397
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   398
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   399
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   400
// CSysApAppUi::OfflineModeActive()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   401
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   402
TBool CSysApAppUi::OfflineModeActive()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   403
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   404
    if(iSysApOfflineModeController)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   405
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   406
        return iSysApOfflineModeController->OfflineModeActive();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   407
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   408
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   409
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   410
        return EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   411
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   412
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   413
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   414
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   415
// CSysApAppUi::GoOnlineL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   416
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   417
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   418
void CSysApAppUi::GoOnlineL( TBool /* aDoProfileChange */ )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   419
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   420
    if ( iSysApFeatureManager->OfflineModeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   421
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   422
//        TRACES( RDebug::Print( _L("CSysApAppUi::GoOnlineL: going from off-line into on-line: aDoProfileChange=%d" ), aDoProfileChange ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   423
        iActivateBt = iSysApOfflineModeController->MustBtBeActivated();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   424
        iSysApOfflineModeController->SwitchFromOfflineToOnlineModeL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   425
        TRACES( RDebug::Print( _L("CSysApAppUi::GoOnlineL: iActivateBt = %d" ), iActivateBt ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   426
        }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   427
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   428
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   429
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   430
// CSysApAppUi::GoOfflineL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   431
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   432
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   433
void CSysApAppUi::GoOfflineL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   434
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   435
    if ( iSysApFeatureManager->OfflineModeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   436
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   437
        TRACES( RDebug::Print( _L("CSysApAppUi::GoOfflineL" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   438
        iDeactivateBt = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   439
        iSysApOfflineModeController->SwitchFromOnlineToOfflineModeL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   440
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   441
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   442
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   443
#ifndef SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   444
// need to configure the above macro.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   445
#else // SYSAP_USE_STARTUP_UI_PHASE
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
// CSysApAppUi::HandleUiReadyAfterBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   449
// Called when startup UI activities has been finished
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   450
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   451
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   452
void CSysApAppUi::HandleUiReadyAfterBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   453
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   454
    TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL" ) ) );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   455
    TInt state( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   456
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   457
    UpdateBatteryBarsL( state );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   458
    DoSwStateNormalConstructionL();
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   459
    HandleAccessoryProfileInStartupL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   460
          
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   461
    if ( iSysApFeatureManager->MmcSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   462
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   463
#ifndef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   464
        MountMMC();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   465
        MMCStatusChangedL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   466
        iHideFirstBeep = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   467
#else // RD_MULTIPLE_DRIVE
71
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   468
		if(iSysApDriveList == NULL)
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   469
			{
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   470
				iSysApDriveList = CSysApDriveList::NewL( iEikonEnv->FsSession() );
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   471
			}
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   472
        iSysApDriveList->MountDrive( iSysApDriveList->DefaultMemoryCard() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   473
        UpdateInsertedMemoryCardsL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   474
#endif // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   475
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   476
		
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   477
	if ( iSysApFeatureManager->MmcHotSwapSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   478
        {
71
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   479
        if(iSysApMMCObserver == NULL)
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   480
        	{
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   481
        	iSysApMMCObserver = CSysApMMCObserver::NewL(
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   482
            iEikonEnv->FsSession(), *iSysApDriveList, *this, iSysApFeatureManager->MmcHotSwapSupported() );
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   483
        	}
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   484
        iSysApMMCObserver->StartMountObserver();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   485
        }    
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   486
   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   487
    if ( !iSysApPsmController ) // created here if first state change has not occurred yet
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   488
       {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   489
       iSysApPsmController = CSysApPsmController::NewL( *this );        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   490
       }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   491
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   492
    if ( iSysApPsmController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   493
       {
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   494
	   if ( iCharging ) // if charger is connected on boot PSM queries may need to be shown
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   495
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   496
         HandleChargingStatusL( StateOfProperty( KPSUidHWRMPowerState, KHWRMChargingStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   497
        }
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   498
		
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   499
       if ( iSysApPsmController->FullPsmEnabled() )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   500
           {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   501
           // activate psm indicator 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   502
            iVariantAccState = CHbSymbianVariant::NewL(&KPsm, CHbSymbianVariant::EDes);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   503
            if (!iHbIndicatorSymbian->Activate(KPsmPlugin,iVariantAccState)) 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   504
               {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   505
               int error = iHbIndicatorSymbian->Error();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   506
               //use the errorcode...
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   507
               }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   508
           }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   509
     
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   510
       }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   511
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   512
    TInt batteryStatus = StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryStatus );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   513
    TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL: batteryStatus %d" ), batteryStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   514
    if(  batteryStatus == EBatteryStatusLow || batteryStatus == EBatteryStatusEmpty )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   515
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   516
        // low and empty battery states are informed to the user in device startup
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   517
        HandleBatteryStatusL( batteryStatus );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   518
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   519
    else if ( iSysApPsmController && !iCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   520
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   521
            TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL: batteryStatus %d, iCharging %d -> disable partial psm" ), batteryStatus, iCharging ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   522
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   523
            iSysApPsmController->BatteryLow( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   524
            iSysApPsmController->DoEnablePartialPsm( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   525
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   526
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   527
    if ( ! iSysApUsbIndicatorController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   528
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   529
        TRAPD ( usbErr, iSysApUsbIndicatorController = CreateSysApUsbIndicatorL( *this ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   530
        if ( usbErr )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   531
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   532
            TRACES( RDebug::Print(_L("CSysApAppUi::HandleUiReadyAfterBootL: error in constructing USB ind. controller %d" ), usbErr ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   533
            }
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
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   537
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   538
// CSysApAppUi::DoStateChangedL(const RStarterSession::TGlobalState aSwState)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   539
// 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
   540
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   542
void CSysApAppUi::DoStateChangedL(const RStarterSession::TGlobalState aSwState)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   543
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   544
    TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL: %d" ), aSwState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   545
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   546
    TRAPD( simChangedErr, DoSimChangedFromPreviousBootL() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   547
    TRACES( RDebug::Print( _L("CSysApAppUi::DoStateChangedL: simChangedErr = %d" ), simChangedErr ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   548
    simChangedErr = simChangedErr; // suppress 'variable not used' warning
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   549
    LogsObserverL().HandleSimChangedCheckDoneL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   550
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   551
    if ( iSysApFeatureManager->PowerSaveSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   552
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   553
        // 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
   554
        if ( !iSysApPsmController ) // created only in first state change
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   555
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   556
            iSysApPsmController = CSysApPsmController::NewL( *this );        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   557
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   558
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   559
        // in charger boot explicitly disable  power save mode
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   560
        if ( aSwState == RStarterSession::ECharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   561
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   562
            iSysApPsmController->ChargerConnected();
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   563
            iSysApPsmController->DoEnableFullPsm(EFalse); // disable  power save now
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   564
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   565
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   566
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   567
    if ( aSwState == RStarterSession::ECharging || aSwState == RStarterSession::EAlarm )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   568
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   569
        TInt state( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   570
        //Also Charging status will be updated with the following function.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   571
        UpdateBatteryBarsL( state );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   572
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   573
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   574
    if( IsStateNormal() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   575
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   576
        TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL to normal state.") ) );
71
9352913932ef 201035_01
hgs
parents: 61
diff changeset
   577
               
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   578
        iSysApBtController = CreateSysApBtControllerL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   579
        iSysApBtSapController = CreateSysApBtSapControllerL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   580
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   581
        if ( iActivateBt )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   582
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   583
            TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL Activating BT" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   584
            SetBtPowerState( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   585
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   586
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   587
        if ( iDeactivateBt )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   588
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   589
            TRACES( RDebug::Print(_L("CSysApAppUi::DoStateChangedL Deactivating BT" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   590
            SetBtPowerState( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   591
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   592
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   593
        if ( !StarterSession().Handle() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   594
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   595
            User::Leave( KErrBadHandle );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   596
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   597
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   598
/*        if ( !KeyLock().Handle() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   599
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   600
            User::Leave( KErrBadHandle );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   601
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   602
*/
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   603
#ifdef __SYSAP_MODULE_TEST
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   604
        ModuleTestShowUiNoteL( _L("SysAp: SW state normal!") );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   605
#endif
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
    // Allow lights
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   609
    iSysApLightsController->AllowLightsOn();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   610
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   611
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   612
#endif // SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   613
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   614
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   615
// CSysApAppUi::~CSysApAppUi()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   616
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   617
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
CSysApAppUi::~CSysApAppUi()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
    TRACES( RDebug::Print( _L("~CSysApAppUi() started") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
    if( !iResourcesFreed )
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   622
      {
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
        FreeResources();
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   624
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   625
        iStarterSession.Close();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   626
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   627
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   628
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   629
    delete iSysApShutdownImage;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   630
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   631
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   632
    if (iSysApShutdownAnimation)
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   633
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   634
        RemoveFromStack( iSysApShutdownAnimation );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   635
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   636
        delete iSysApShutdownAnimation;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   637
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   638
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   639
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   640
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   641
//    delete iProfileNote;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   642
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   643
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   644
    if( iAnimTimer )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   645
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   646
        iAnimTimer->Cancel();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   647
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   648
    delete iAnimTimer;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   649
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   650
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   651
    delete iSysApStartupController;
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   652
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   653
#ifdef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   654
    iInsertedMemoryCards.Close();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   655
    delete  iSysApDriveEjectHandler;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   656
    delete iSysApDriveUnlockHandler;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   657
    delete iSysApDriveList;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   658
#endif // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
   659
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
   660
    TRACES( RDebug::Print( _L("~CSysApAppUi() completed") ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   661
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   662
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   663
TBool CSysApAppUi::ResourcesFreed() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   664
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   665
    return iResourcesFreed;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   666
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   667
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
   668
void CSysApAppUi::ShowExampleUiNoteL( const TDesC& noteText )const
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   669
    {          
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
   670
 	TRACES( RDebug::Print( _L("CSysApAppUi::ShowExampleUiNoteL:: constructing CHbDeviceMessageBoxSymbian:BeGIN") ) );    
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   671
    CHbDeviceMessageBoxSymbian *note = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EInformation);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   672
 	CleanupStack::PushL(note);
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
   673
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowExampleUiNoteL:: construction of CHbDeviceMessageBoxSymbian:END") ) ); 
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   674
    note->SetTextL(noteText);
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
   675
	note->SetTimeout(300);
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   676
 	TRACES( RDebug::Print( _L("CSysApAppUi:: Display of  CHbDeviceMessageBoxSymbian::Begin") ) );    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   677
    note->ShowL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   678
	TRACES( RDebug::Print( _L("CSysApAppUi:: Display of  CHbDeviceMessageBoxSymbian::End") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   679
	CleanupStack::PopAndDestroy(note);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   680
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   681
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   682
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   683
void CSysApAppUi::ExecQueryL( TSysapQuery aQuery, TDes8& aReturn )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   684
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   685
    ExecQueryL( aQuery, aReturn, KNullDesC8 );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   686
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   687
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   688
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   689
// CSysApAppUi::ExecQueryL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   690
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   691
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   692
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
   693
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   694
    TRACES( RDebug::Print(_L("CSysApAppUi::ExecQueryL: aQuery=%d"), aQuery ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   695
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   696
    switch ( aQuery )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   697
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   698
        case EGetHwrmLight: // get handle to HWRM client session. Returns CHWRMLight*.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   699
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   700
            THwrmLightBuf retBuf( iSysApLightsController->GetHwrmLight() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   701
            aReturn.Copy( retBuf );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   702
            }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   703
            break;
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   704
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   705
        case EGetKeylock: // get handle to keylock client session. Returns RAknKeylock2*.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   706
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   707
            // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   708
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   709
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   710
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   711
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   712
        default:
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   713
            __ASSERT_DEBUG( EFalse, User::Panic( _L("CSysApAppUi::ExecQueryL: Invalid query"), KErrArgument ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   714
            User::Leave( KErrArgument );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   715
            break;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   716
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   717
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   718
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   719
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   720
// CSysApAppUi::ExecCommandL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   721
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   722
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   723
void CSysApAppUi::ExecCommandL( TSysapCommand aCommand )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   724
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   725
    ExecCommandL( aCommand, KNullDesC8 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   726
    }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   727
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   728
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   729
// CSysApAppUi::ExecCommandL
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
void CSysApAppUi::ExecCommandL( TSysapCommand aCommand, const TDesC8&  /* aParam */ )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   733
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   734
    TRACES( RDebug::Print(_L("CSysApAppUi::ExecCommandL: aCommand=%d"), aCommand ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   735
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   736
    switch ( aCommand )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   737
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   738
        case EResetKeyguardState: // reset the internal keyguard flags of the SysAp, except for iKeyLockOnBeforeCradle
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   739
            iKeyLockOnBeforeCall = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   740
            iKeyLockOnBeforeAlarm = EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   741
            break;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
        default:
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   744
            // do nothing in release builds since no harm is done
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   745
            __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
   746
            break;
46
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
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   751
// CSysApAppUi::TimerExpiredL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   752
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   753
void CSysApAppUi::TimerExpiredL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   754
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   755
/*
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   756
 * Not suppported , will take care in wk25
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   757
 * #ifndef RD_MULTIPLE_DRIVE 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   758
 * CloseUIAppsInHotSwapL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   759
 * #endif // RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   760
*/   
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
  // ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   765
// CSysApAppUi::KeyLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   766
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   767
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   768
TBool CSysApAppUi::KeyLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   769
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   770
    return iKeyLockEnabled;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   771
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   772
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   773
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   774
// CSysApAppUi::DeviceLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   775
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   776
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   777
TBool CSysApAppUi::DeviceLockState() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   778
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   779
    return iDeviceLockEnabled;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   780
    }
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
// CSysApAppUi::SysApFeatureManager
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   784
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   785
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   786
CSysApFeatureManager& CSysApAppUi::SysApFeatureManager()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   787
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   788
    __ASSERT_DEBUG( iSysApFeatureManager, User::Panic( _L("iSysApFeatureManager == NULL"), KErrBadHandle ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   789
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   790
    return *iSysApFeatureManager;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   791
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   792
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   793
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   794
// CSysApAppUi::ActivateKeyeventForwardingForLights()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   795
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   796
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   797
void CSysApAppUi::ActivateKeyeventForwardingForLights(TBool aActivate)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   798
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   799
    if( iSysApNspsHandler )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   800
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   801
        if ( aActivate )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   802
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   803
            iSysApNspsHandler->ActivateKeyeventForwardingForLights();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   804
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   805
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   806
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   807
            iSysApNspsHandler->DeActivateKeyeventForwardingForLights();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   808
            }
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
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   813
// CSysApAppUi::StarterSession()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   814
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   815
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   816
RStarterSession& CSysApAppUi::StarterSession()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   817
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   818
    if ( !iStarterSession.Handle() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   819
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   820
        // All server connections are tried to be made KTriesToConnectServer times because occasional
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   821
        // fails on connections are possible at least on some servers
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   822
        TRACES( RDebug::Print( _L("CSysApAppUi::StarterSession: trying RStarterSession::Connect()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   823
        TInt thisTry = 0;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   824
        TInt err;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   825
        while ( ( err = iStarterSession.Connect() ) != KErrNone && ( thisTry++ ) <= KTriesToConnectServer )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   826
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   827
            User::After( KTimeBeforeRetryingServerConnection );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   828
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   829
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   830
        if ( err != KErrNone )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   831
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   832
            // What do in error case?
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   833
            TRACES( RDebug::Print( _L("CSysApAppUi::StarterSession: RStarterSession::Connect() failed with %d"), err ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   834
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   835
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   836
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   837
    return iStarterSession;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   838
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   839
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   840
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   841
// CSysApAppUi::SetBtPowerState()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   842
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   843
TInt CSysApAppUi::SetBtPowerState( TBool aBtState )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   844
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   845
    if ( iSysApBtController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   846
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   847
        return iSysApBtController->SetPowerState( aBtState );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   848
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   849
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   850
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   851
        return KErrNotReady;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   852
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   853
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   854
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   855
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   856
// CSysApAppUi::SetStarterState()
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
TInt CSysApAppUi::SetStarterState( const RStarterSession::TGlobalState aState )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   860
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   861
    if ( iSysApStartupController->GlobalStateChangeAllowed( aState ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   862
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   863
        TRACES( RDebug::Print( _L("CSysApAppUi::SetStarterState: aState=%d" ), aState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   864
        return StarterSession().SetState( aState );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   865
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   866
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   867
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   868
        TRACES( RDebug::Print( _L("CSysApAppUi::SetStarterState: aState=%d - not allowed" ), aState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   869
        return KErrNone;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   870
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   871
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   872
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   873
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   874
// CSysApAppUi::SetNetworkConnectionAllowed()
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
void CSysApAppUi::SetNetworkConnectionAllowed( TCoreAppUIsNetworkConnectionAllowed aNetworkConnectionAllowed )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   878
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   879
    TRACES( RDebug::Print( _L("CSysApAppUi::SetNetworkConnectionAllowed: status: %d" ), aNetworkConnectionAllowed ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   880
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   881
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIs, KCoreAppUIsNetworkConnectionAllowed, (TInt) aNetworkConnectionAllowed );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   882
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   883
    // Also set the Symbian PS key used for the same purpose:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   884
    RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, aNetworkConnectionAllowed ? ESAPhoneOn : ESAPhoneOff);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   885
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   886
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   887
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   888
// CSysApAppUi::BluetoothPowerMode()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   889
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   890
TInt CSysApAppUi::BluetoothPowerMode() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   891
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   892
    return iSysApCenRepBtObserver->BluetoothPowerMode();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   893
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   894
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   895
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   896
// CSysApAppUi::SimSupported()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   897
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   898
TBool CSysApAppUi::SimSupported()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   899
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   900
    return iSysApFeatureManager->SimSupported();
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
// CSysApAppUi::BtSapEnabled()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   905
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   906
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   907
TBool CSysApAppUi::BtSapEnabled()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   908
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   909
    if ( iSysApBtSapController )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   910
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   911
        return iSysApBtSapController->BtSapEnabled();    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   912
        }  
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   913
    return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   914
    }
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
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   918
// CSysApAppUi::OfflineModeChangedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   919
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   920
void CSysApAppUi::OfflineModeChangedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   921
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   922
#ifdef SYSAP_USE_STARTUP_UI_PHASE    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   923
    // if UI is not ready, don't update indicators
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   924
    if ( !UiReady() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   925
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   926
        return;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   927
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   928
#endif // SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   929
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   930
#if 0 // Not used as of now
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   931
    SetHacIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   932
#endif //0	
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   933
    }
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
// CSysApAppUi::UiReady()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   937
// 
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   938
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   939
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   940
TBool CSysApAppUi::UiReady() const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   941
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   942
#ifdef SYSAP_USE_STARTUP_UI_PHASE    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   943
    return iSysApStartupController->UiReady(); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   944
#else // SYSAP_USE_STARTUP_UI_PHASE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   945
    // 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
   946
    return IsStateNormal();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   947
#endif // SYSAP_USE_STARTUP_UI_PHASE        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   948
    }
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
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   951
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   952
// CSysApAppUi::CompleteShutdown()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   953
// ----------------------------------------------------------------------------
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   954
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   955
void CSysApAppUi::CompleteShutdown( const TBool aReset, const TInt aResetReason )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   956
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   957
    TRACES( RDebug::Print(_L("CSysApAppUi::CompleteShutdown(): START" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   958
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   959
    iCheckLongPowerKeyEvent = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   960
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   961
    PrepareForShutdownImage();//SysAp's internal preparation for ShutDown with image
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   962
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   963
    FreeResources();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   964
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   965
    if ( aReset )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   966
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   967
        __ASSERT_DEBUG( aResetReason >= RStarterSession::ELanguageSwitchReset &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   968
                        aResetReason <= RStarterSession::EDataRestoreReset,
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   969
                        User::Invariant() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   970
        StarterSession().Reset( static_cast<RStarterSession::TResetReason>( aResetReason ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   971
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   972
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   973
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   974
        StarterSession().Shutdown();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   975
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   976
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   977
    StarterSession().Close();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   978
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   979
    TRACES( RDebug::Print(_L("CSysApAppUi::CompleteShutdown(): END" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   980
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   981
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   982
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   983
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   984
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   985
// CSysApAppUi::DoShutdownL( const TBool aReset, const TSWStartupReason aSWStartupReason )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   986
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   987
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   988
void CSysApAppUi::DoShutdownL( const TBool aReset, const TInt aResetReason )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   989
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   990
    TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL: aResetReason:%d, aReset:%d" ),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   991
        aResetReason, aReset ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   992
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   993
    TBool animationenabled( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   994
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   995
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   996
    if( OkToInitiateShutdown() )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   997
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   998
        TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL: Was OkToToInitiateShutdown" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
   999
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1000
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1001
        if ( !aReset && iSysApFeatureManager->Supported(KSysApFeatureIdGoodbyeNote) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1002
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1003
            // show shutdown note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1004
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1005
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1006
        if( !aReset )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1007
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1008
    #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1009
            TRAPD( err, ShowAnimationL() );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1010
            if ( err )
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1011
                {
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1012
                TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL ShowAnimationL() leaved: %d" ), err ) );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1013
                CompleteShutdown(aReset, aResetReason);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1014
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1015
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1016
        else // aReset
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1017
           {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1018
            CompleteShutdown(aReset, aResetReason);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1019
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1020
    #else // RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1021
            TRAPD( err, animationenabled = ShowAnimationL() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1022
            if ( err )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1023
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1024
                TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL ShowAnimationL() leaved: %d" ), err ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1025
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1026
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1027
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1028
        if ( !animationenabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1029
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1030
            CompleteShutdown(aReset, aResetReason);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1031
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1032
    #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1033
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1034
    else
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
        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
  1037
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1038
    TRACES( RDebug::Print(_L("CSysApAppUi::DoShutdownL: END" ) ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1039
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1040
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
/* 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1044
----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1045
CSysApAppUi::IsEncryptionOperationOngoingL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1046
Introduced the code as a part of Sub : 405-3362 - Power Management SUB for ES 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1047
recapture functionalities in platform which support multidrive as well. 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1048
-------------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1049
*/
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1050
TBool CSysApAppUi::IsEncryptionOperationOngoingL() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1051
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1052
        TBool deFeatureSupported(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1053
        FeatureManager::InitializeLibL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1054
        deFeatureSupported = FeatureManager::FeatureSupported( KFeatureIdFfDeviceEncryptionFeature);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1055
        FeatureManager::UnInitializeLib();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1056
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1057
        if(deFeatureSupported)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1058
            {         
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1059
            /**
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1060
             * Store the last memory status changed
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1061
             * 0: Idle. It can be Encrypted or Decrypted
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1062
             * 1: Encrypting
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1063
             * 2: Decrypting
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1064
             **/
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1065
             
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1066
            RProperty deProperty;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1067
            User::LeaveIfError(deProperty.Attach(KDevEncProtectedUid, KDevEncOperationKey,EOwnerThread));
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1068
            TInt deValue = 0;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1069
            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
  1070
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1071
                deProperty.Close();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1072
                return ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1073
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1074
            else
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
                deProperty.Close();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1077
                return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1078
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1079
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1080
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1081
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1082
            return EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1083
            }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1084
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1085
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1086
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1087
// CSysApAppUi::HandleLongPowerKeyPressedL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1088
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1089
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1090
void CSysApAppUi::HandleLongPowerKeyPressedL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1091
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1092
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleLongPowerKeyPressedL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1093
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1094
    TInt swState;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1095
    RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1096
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1097
    iSysApLightsController->PowerKeyPressedL();  //need to handle later.
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1098
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1099
    if( swState == ESwStateStartingCriticalApps ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1100
        swState == ESwStateSelfTestOK ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1101
        swState == ESwStateSecurityCheck ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1102
        swState == ESwStateCriticalPhaseOK ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1103
        swState == ESwStateEmergencyCallsOnly ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1104
        swState == ESwStateNormalRfOn ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1105
        swState == ESwStateNormalRfOff ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1106
        swState == ESwStateNormalBTSap ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1107
        swState == ESwStateFatalStartupError )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1108
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1109
        if( !iDeviceLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1110
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1111
            if( iPowerKeyPopupMenuActive )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1112
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1113
                // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1114
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1115
            else if( !iIgnoreNextPowerKeyRepeats )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1116
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1117
                if( !iKeyLockEnabled && !IsEncryptionOperationOngoingL() )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1118
                    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1119
                    DoShutdownL( EFalse, KDummyReason );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1120
                    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1121
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1122
            iIgnoreNextPowerKeyRepeats = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1123
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1124
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1125
    else if( swState == ESwStateAlarm )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1126
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1127
        //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
  1128
        //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
  1129
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1130
    else if( swState == ESwStateCharging )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1131
        //Startup to Normal state
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1132
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1133
        if( !iIgnoreNextPowerKeyRepeats )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1134
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1135
            iIgnoreNextPowerKeyRepeats = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1136
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1137
            SetStarterState( RStarterSession::ENormal );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1138
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1139
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1140
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1141
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1142
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1143
// CSysApAppUi::IsDeviceModeKey
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
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1146
TBool CSysApAppUi::IsDeviceModeKey( const TKeyEvent& aKeyEvent ) const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1147
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1148
    return CSysApDefaultKeyHandler::IsDeviceModeKey( aKeyEvent );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1149
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1150
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1151
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1152
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1153
// CSysApAppUi::ShowShutdownImage
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1154
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1155
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1156
TInt CSysApAppUi::ShowShutdownImage( TInt aBitmapId )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1157
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1158
    TRACES( RDebug::Print(_L("CSysApAppUi::ShowShutdownImage") ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1159
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1160
    TRAPD( err, ShowShutdownImageL( aBitmapId ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1161
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1162
    if ( err != KErrNone )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1163
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1164
        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
  1165
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1166
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1167
    return err;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1168
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1169
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1170
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1171
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1172
// CSysApAppUi::ShowShutdownImageL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1173
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1174
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1175
void CSysApAppUi::ShowShutdownImageL( TInt aBitmapId )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1176
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1177
    TRACES( RDebug::Print(_L("CSysApAppUi::ShowShutdownImageL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1178
    // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1179
    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
  1180
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1181
        TRACES( RDebug::Print( _L("CSysApAppUi::ShowShutdownImageL: trying CSysApShutdownImage::NewL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1182
        iSysApShutdownImage = CSysApShutdownImage::NewL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1183
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1184
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowShutdownImageL: trying CSysApShutdownImage::ShowShutdownImageL()") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1185
    iSysApShutdownImage->ShowShutdownImageL( aBitmapId );
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
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1189
// CSysApAppUi::PrepareForShutdownImage()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1190
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1191
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1192
void CSysApAppUi::PrepareForShutdownImage()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1193
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1194
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownImage() START" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1195
 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1196
    // If RD_STARTUP_ANIMATION_CUSTOMIZATION is enabled, the following actions are always taken in PrepareForShutdownAnimation
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1197
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1198
    if ( !iAnimationShowingTime ) // actions already taken in PrepareForShutdownAnimation
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1199
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1200
        static_cast<CAknAppUi*>(iEikonEnv->EikAppUi())->KeySounds()->PlaySound( EAvkonSIDPowerOffTone );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1201
        CancelGlobalListQuery();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1202
        
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1203
        if ( iSysApPowerKeyMenuObserver )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1204
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1205
            iSysApPowerKeyMenuObserver->Cancel();
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
        // deactivate notifiers before showing the shutdown image
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1209
        AknNotifierController::CancelAllNotifications();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1210
        AknNotifierController::HideAllNotifications(ETrue);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1211
        RWindowGroup groupWin = iCoeEnv->RootWin();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1212
        iCapturedAppskey = groupWin.CaptureKey( EKeyApplication, KModifierMask, KModifierMask );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1213
        iCapturedAppskeyUpAndDowns = groupWin.CaptureKeyUpAndDowns( EStdKeyApplication0, KModifierMask, KModifierMask );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1214
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1215
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1216
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1217
#ifndef __SYSAP_MODULE_TEST //to make errors during shutdown sequence being seen more easily
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1218
    iEikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1219
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownImage() Show Shutdown image" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1220
    ShowShutdownImage( 1  );//EMbmSysapQgn_startup_screen
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1221
#endif
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1222
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownImage() END" ) ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1223
    }
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
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1226
// CSysApAppUi::OkToInitiateShutdown()
0
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
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1229
TBool CSysApAppUi::OkToInitiateShutdown()
0
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
    TInt swState;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1232
    RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState );
0
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
    if( !iShutdownStarted &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1235
        swState == ESwStateStartingCriticalApps ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1236
        swState == ESwStateSelfTestOK ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1237
        swState == ESwStateSecurityCheck ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1238
        swState == ESwStateCriticalPhaseOK ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1239
        swState == ESwStateEmergencyCallsOnly ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1240
        swState == ESwStateCharging ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1241
        swState == ESwStateAlarm ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1242
        swState == ESwStateNormalRfOn ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1243
        swState == ESwStateNormalRfOff ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1244
        swState == ESwStateNormalBTSap ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1245
        swState == ESwStateFatalStartupError )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1246
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1247
        iShutdownStarted = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1248
        return ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1249
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1250
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1251
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1252
        return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1253
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1254
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1255
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1256
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1257
void CSysApAppUi::PopupNote()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1258
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1259
    iIgnoreNextPowerKeyUpEvent = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1260
    // TRACES( RDebug::Print( _L("CSysApAppUi::Key was consumed") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1261
    _LIT(KPowerPressKey,"Short power key");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1262
    HBufC* aString = HBufC16::NewLC(50);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1263
    TPtrC aStringPointer = aString->Des();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1264
    aStringPointer.Set(KPowerPressKey);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1265
    TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  1266
    ShowExampleUiNoteL( aStringPointer );  
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1267
    CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1268
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1269
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1270
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1271
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1272
// CSysApAppUi::SetUsbAttachStatus
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1273
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1274
#ifndef RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1275
void CSysApAppUi::SetUsbAttachStatus( const TBool aUsbAttached )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1276
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1277
    // Prevent double beep when USB file transfer gets activated but
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1278
    // allow MMC inserted beep when:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1279
    // a) USB file transfer is active
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1280
    // b) MMC is not inserted when USB cable is attached
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1281
    iHideNextBeep = ( iMMCInserted && aUsbAttached );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1282
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1283
#else // RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1284
void CSysApAppUi::SetUsbAttachStatus( const TBool aUsbAttached )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1285
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1286
    TRACES( RDebug::Print(
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1287
        _L( "CSysApAppUi::SetUsbAttachStatus: aUsbAttached: %d" ),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1288
        aUsbAttached ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1289
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1290
    if ( aUsbAttached )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1291
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1292
          // For ignoring extra beeps caused by USB file transfer
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1293
        iSysApDriveList->ResetDrivesInsertBeepIgnored();
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1294
        iSysApDriveList->MarkDrivesInsertBeepIgnored( iInsertedMemoryCards );
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1295
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1296
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1297
#endif // RD_MULTIPLE_DRIVE
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1298
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1299
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1300
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1301
// CSysApAppUi::UsbChargerDetector
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1302
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1303
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1304
TSysApUsbChargerDetector& CSysApAppUi::UsbChargerDetector()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1305
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1306
    return iSysApUsbChargerDetector;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1307
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1308
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
// CSysApAppUi::HandleAccessoryDisconnectedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1312
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1313
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1314
void CSysApAppUi::HandleAccessoryDisconnectedL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1315
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1316
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryDisconnectedL()" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1317
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1318
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1319
    TAccMode accessoryState(EAccModeHandPortable);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1320
    if ( iSysApAccessoryObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1321
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1322
        accessoryState = iSysApAccessoryObserver->GetAccessoryMode();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1323
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1324
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1325
    if ( accessoryState == EAccModeHandPortable )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1326
        {
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1327
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryDisconnectedL:Before Deactivating accessory Plugin")));
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1328
        iHbIndicatorSymbian->Deactivate(KAccesoryPlugin);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1329
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryDisconnectedL:After  Deactivating accessory Plugin")));
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1330
        iSysApLightsController->AccessoryConnectedL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1331
        iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected, 0 );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1332
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1333
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1334
    SetIhfIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1335
    SetHacIndicatorL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1336
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1337
    // If lock disabled because of accessory, reactivate it, unless phone call or alarm is ongoing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1338
    if ( iKeyLockOnBeforeCradle )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1339
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1340
        iKeyLockOnBeforeCradle = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1341
        if ( !iKeyLockOnBeforeCall && !iKeyLockOnBeforeAlarm )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1342
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1343
            if ( !iDeviceLockEnabled )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1344
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1345
                iKeyguardController->EnableKeyguard(ETrue);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1346
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1347
            else
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1348
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1349
                iKeyguardController->EnableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1350
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1351
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1352
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1353
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1354
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1355
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1356
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1357
// CSysApAppUi::HandleAccessoryConnectedL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1358
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1359
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1360
void CSysApAppUi::HandleAccessoryConnectedL( TAccMode aAccessoryState, TInt aPhysicalConnectionType )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1361
    {
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1362
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryConnectedL( aAccessoryState: %d )(aPhysicalConnectionType: %d "), aAccessoryState, aPhysicalConnectionType ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1363
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1364
    CHbSymbianVariantMap* iAccVariantMap = CHbSymbianVariantMap::NewL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1365
    CleanupStack::PushL(iAccVariantMap);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1366
    CHbSymbianVariant* variantAccState = CHbSymbianVariant::NewL(&aAccessoryState, CHbSymbianVariant::EInt);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1367
    iAccVariantMap->Add(KAccMode,variantAccState);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1368
    CHbSymbianVariant* variantAccType = CHbSymbianVariant::NewL(&aPhysicalConnectionType, CHbSymbianVariant::EInt);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1369
    iAccVariantMap->Add(KAccPhyConType,variantAccType);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1370
    
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1371
    
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1372
    CHbSymbianVariant* iAccVariant = CHbSymbianVariant::NewL(iAccVariantMap, CHbSymbianVariant::EVariantMap ); 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1373
    CleanupStack::PushL(iAccVariant);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1374
    iHbIndicatorSymbian->Activate(KAccesoryPlugin, iAccVariant);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1375
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1376
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1377
    TInt swState( StateOfProperty( KPSUidStartup, KPSGlobalSystemState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1378
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleAccessoryConnectedL: swState: %d"), swState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1379
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1380
    if( UiReady() || swState == ESwStateSecurityCheck )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1381
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1382
        iSysApLightsController->AccessoryConnectedL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1383
        }
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
    if ( ( ! iSysApOfflineModeController->OfflineModeActive() ))
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1386
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1387
        if ( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected ) < 1 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1388
            // accessory not connected already
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1389
             {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1390
            iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected, 1 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1391
           }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1392
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1393
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1394
    // Carkit and music stand have also light on permanently option that needs to be checked
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1395
    if( aAccessoryState == EAccModeWiredCarKit || aAccessoryState == EAccModeMusicStand )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1396
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1397
        // When device is placed on a handsfree cradle, keyguard must be disabled (unless device is locked)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1398
        // 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
  1399
        if ( iKeyLockEnabled || iDeviceLockEnabled || iKeyLockOnBeforeCall || iKeyLockOnBeforeAlarm )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1400
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1401
            iKeyLockOnBeforeCradle = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1402
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1403
            if ( iKeyLockEnabled && !iDeviceLockEnabled )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1404
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1405
                iKeyguardController->DisableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1406
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1407
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1408
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1409
    SetIhfIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1410
    SetHacIndicatorL();
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1411
    CleanupStack::PopAndDestroy(2);
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1412
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1413
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1414
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1415
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1416
// CSysApAppUi::SetHacIndicatorL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1417
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1418
void CSysApAppUi::SetHacIndicatorL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1419
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1420
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1421
    if ( !iSysApCenRepHacSettingObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1422
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1423
        // Do nothing if HAC setting observer has not been created yet
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1424
        // This occurs in case some party is trying to set HAC indicator during
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1425
        // ConstructL(), e.g. when switching from offline to online during startup
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1426
        TRACES( RDebug::Print( _L("CSysApAppUi::SetHacIndicatorL: do nothing, HAC observer does not exist yet") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1427
        return;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1428
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1429
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1430
    if ( iSysApCenRepHacSettingObserver->HacMode() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1431
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1432
        TBool accessoryConnected ( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1433
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1434
        TAccMode accMode(EAccModeHandPortable);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1435
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1436
        if ( iSysApAccessoryObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1437
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1438
            accMode = iSysApAccessoryObserver->GetAccessoryMode();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1439
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1440
            if ( accMode != EAccModeHandPortable )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1441
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1442
                accessoryConnected = ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1443
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1444
            }
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
//        TInt indicatorState = EAknIndicatorStateOn;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1447
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1448
        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
  1449
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1450
            if ( OfflineModeActive() ) // HAC indicator is not shown in offline mode
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1451
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1452
 //               indicatorState = EAknIndicatorStateOff;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1453
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1454
            else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1455
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1456
                // during active call with IHF activated HAC indicator is not shown
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1457
                TInt callState( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1458
                if ( callState < KErrNone )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1459
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1460
                    callState = EPSCTsyCallStateNone;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1461
                    }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1462
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1463
                if ( callState != EPSCTsyCallStateNone && IhfEnabledL() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1464
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1465
 //                   indicatorState = EAknIndicatorStateOff;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1466
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1467
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1468
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1469
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1470
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1471
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1472
            // If an accessory is connected, HAC indicator should not be shown
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1473
//            indicatorState = EAknIndicatorStateOff;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1474
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1475
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1476
 //       SetIndicatorStateL( EAknIndicatorHAC, indicatorState );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1477
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1478
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1479
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1480
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1481
        // If HAC is not active, always disable indicator regardless of accessory state
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1482
 //       SetIndicatorStateL( EAknIndicatorHAC, EAknIndicatorStateOff );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1483
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1484
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1485
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1486
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1487
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1488
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1489
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1490
// CSysApAppUi::DoNotActivateBt()
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
void CSysApAppUi::DoNotActivateBt()
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
    iSysApOfflineModeController->DoNotActivateBt();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1495
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1496
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1497
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1498
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1499
// CSysApAppUi::IhfEnabledL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1500
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1501
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1502
TBool CSysApAppUi::IhfEnabledL()
0
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
    TRACES( RDebug::Print( _L("CSysApAppUi::IhfEnabledL(): iSysApAudioRoutingObserver=0x%x"), iSysApAudioRoutingObserver ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1505
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1506
    if ( !iSysApAudioRoutingObserver ) // create observer if needed
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1507
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1508
        iSysApAudioRoutingObserver = CSysApAudioRoutingObserver::NewL( *this );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1509
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1510
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1511
    return iSysApAudioRoutingObserver->IhfEnabled();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1512
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1513
0
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::SetIhfIndicatorL()
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::SetIhfIndicatorL()
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
    TBool accessoryConnected ( EFalse );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1521
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1522
    TInt callState( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) );
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
    TAccMode accMode(EAccModeHandPortable);
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1525
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1526
    if ( iSysApAccessoryObserver )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1527
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1528
        accMode = iSysApAccessoryObserver->GetAccessoryMode();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1529
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1530
        if ( accMode != EAccModeHandPortable )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1531
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1532
            accessoryConnected = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1533
            }
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
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1536
    if( (callState != EPSCTsyCallStateNone && IhfEnabledL() && !accessoryConnected)
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1537
        || accMode == EAccModeMusicStand )  // Music stand always shows IHF indicator
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
        if ( accMode == EAccModeMusicStand )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1540
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1541
            // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1542
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1543
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1544
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1545
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1546
        // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1547
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1548
    }
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
// ----------------------------------------------------------------------------
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1551
// CSysApAppUi::EjectStarted()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1552
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1553
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1554
void CSysApAppUi::EjectStarted( TBool ejectStarted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1555
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1556
    TRACES( RDebug::Print( _L( "CSysApAppUi::EjectStarted" ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1557
    iMMCEjectUsed = ejectStarted;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1558
    
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1559
#ifndef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1560
    iFileManagerCloseDisabled = ejectStarted;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1561
#endif // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1562
}
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1563
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1564
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1565
// CSysApAppUi::DoLightsTimeoutChangedL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1566
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1567
void CSysApAppUi::DoLightsTimeoutChangedL( const TInt aTimeout )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1568
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1569
    iSysApLightsController->DoLightsTimeoutChangedL( aTimeout );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1570
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1571
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1572
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1573
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1574
// CSysApAppUi::DoSwStateNormalConstructionL()
0
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
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1577
void CSysApAppUi::DoSwStateNormalConstructionL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1578
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1579
    // Let's ensure that the lights will remain on for 15 secs after sw state normal
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1580
    User::ResetInactivityTime();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1581
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1582
    TRACES( RDebug::Print( _L("CSysApAppUi::DoSwStateNormalConstructionL : START" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1583
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1584
    // 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
  1585
    // prior to time-consuming initializations, because otherwise UI is in unlocked state for a few seconds.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1586
    if ( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive ) == 1  )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1587
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1588
        TRACES( RDebug::Print( _L("CSysApAppUi::DoSwStateNormalConstructionL: enabling keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1589
        iKeyguardController->EnableKeyguard(ETrue);
0
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
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1592
    // Initiate bearer change observation
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1593
//    iSysApConnectionMonitorObserver = CSysApConnectionMonitorObserver::NewL( *this );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1594
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1595
    TRACES( RDebug::Print( _L("SysAp: trying CSystemLock::NewL" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1596
    iSysApSystemLock = CSystemLock::NewL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1597
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1598
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1599
    if ( iSysApFeatureManager->Supported( KSysApFeatureIdBatteryInfoPopup ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1600
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1601
        iSysApBatteryInfoController = CSysApBatteryInfoController::NewL( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsConf, 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1602
                                                                                                     KCoreAppUIsBatteryInformationLowThreshold ) );    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1603
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1604
    TRACES( RDebug::Print( _L("CSysApAppUi::DoSwStateNormalConstructionL : END" ) ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1605
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1606
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1607
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1608
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1609
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1610
// CSysApAppUi::DoSimChangedFromPreviousBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1611
// ----------------------------------------------------------------------------
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1612
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1613
void CSysApAppUi::DoSimChangedFromPreviousBootL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1614
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1615
    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
  1616
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1617
    if ( !iSimChangedDone  )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1618
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1619
        iSimChangedDone = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1620
        CSysApSimChanged* simChanged = CSysApSimChanged::NewL( *this, iEikonEnv->FsSession() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1621
        CleanupStack::PushL( simChanged );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1622
        simChanged->HandleSimChangedL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1623
        CleanupStack::PopAndDestroy( simChanged );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1624
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1625
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1626
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1627
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1628
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1629
// CSysApAppUi::IgnoreZeroNetworkBarNotifications
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1630
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1631
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1632
void CSysApAppUi::IgnoreZeroNetworkBarNotifications(TBool aIgnore)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1633
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1634
    iIgnoreZeroNetworkBarNotifications = aIgnore;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1635
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1636
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1637
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1638
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1639
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1640
// CSysApAppUi::SwitchFromOnlineToOfflineModeL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1641
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1642
void CSysApAppUi::SwitchFromOnlineToOfflineModeL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1643
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1644
   iSysApOfflineModeController->SwitchFromOnlineToOfflineModeL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1645
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1646
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1647
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1648
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1649
// CSysApAppUi::InitCloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1650
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1651
void CSysApAppUi::InitCloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1652
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1653
    iApplicationScanningRoundNumberInBtSap = 0;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1654
    iTimeToKillInBtSap = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1655
    CloseSimApplicationsL();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1656
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1657
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1658
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1659
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1660
// CSysApAppUi::CloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1661
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1662
void CSysApAppUi::CloseSimApplicationsL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1663
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1664
    iApplicationScanningRoundNumberInBtSap++;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1665
    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
  1666
                           iApplicationScanningRoundNumberInBtSap ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1667
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1668
    if ( iApplicationScanningRoundNumberInBtSap == KMaxExitTimeInBtSap )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1669
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1670
        iTimeToKillInBtSap = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1671
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1672
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1673
    const TInt KNumberOfSimDependantApps( 7 );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1674
    TUid simDependantAppUid[ KNumberOfSimDependantApps ];
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1675
    simDependantAppUid[ 0 ] = KSysApGSUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1676
    simDependantAppUid[ 1 ] = KSysApSATUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1677
    simDependantAppUid[ 2 ] = KSysApMailboxUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1678
    simDependantAppUid[ 3 ] = KSysApSpeedDialingUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1679
    simDependantAppUid[ 4 ] = KSysApSimDirectoryUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1680
    simDependantAppUid[ 5 ] = KSysApMCEUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1681
    simDependantAppUid[ 6 ] = KSysApCellBroadcastMessagesUid;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1682
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1683
    TBool appsExiting( EFalse );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1684
    TApaTaskList apaTaskList( CCoeEnv::Static()->WsSession() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1685
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1686
    for ( TInt i = 0; i < KNumberOfSimDependantApps; i++ )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1687
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1688
        TApaTask apaTask = apaTaskList.FindApp( simDependantAppUid[ i ] );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1689
        if ( apaTask.Exists() )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1690
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1691
            appsExiting = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1692
            if ( iApplicationScanningRoundNumberInBtSap == 1 )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1693
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1694
                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
  1695
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1696
            else if ( iTimeToKillInBtSap )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1697
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1698
                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
  1699
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1700
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1701
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1702
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1703
    if ( !appsExiting || iTimeToKillInBtSap )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1704
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1705
        iSysApBtSapController->SimApplicationsClosed();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1706
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1707
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1708
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1709
        if ( !iSapTimer )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1710
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1711
            iSapTimer = CPeriodic::NewL( EPriorityNormal );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1712
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1713
        iSapTimer->Cancel();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1714
        iSapTimer->Start( KDelayBeforeNextScanningRound,
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1715
                          KDelayBeforeNextScanningRound,
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1716
                          TCallBack( DoCloseSimApplicationsAfterCallBack, this ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1717
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1718
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1719
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1720
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1721
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1722
// CSysApAppUi::DoCloseSimApplicationsAfterCallBack
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1723
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1724
TInt CSysApAppUi::DoCloseSimApplicationsAfterCallBack( TAny* aObject )
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
    CSysApAppUi* appUi = STATIC_CAST( CSysApAppUi*, aObject );
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
    if ( appUi->iSapTimer )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1729
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1730
        appUi->iSapTimer->Cancel();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1731
        }
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
    TRAP_IGNORE( appUi->CloseSimApplicationsL() );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1734
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1735
    return KErrNone;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1736
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1737
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1738
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1739
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1740
// CSysApAppUi::NotifyPowerSaveModeL
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1741
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1742
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1743
void CSysApAppUi::NotifyPowerSaveModeL( TSysApPsmStatus aStatus )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1744
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1745
    TRACES( RDebug::Print( _L("CSysApAppUi::NotifyPowerSaveModeL aStatus: %d"), aStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1746
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1747
    // cancel any active power saving query because user has changed the state manually
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1748
    // CancelQuery( ESysApBattChargingPowerSavingQuery );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1749
    // CancelQuery( ESysApBattLowPowerSavingQuery );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1750
    // will take care in next sub
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1751
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1752
    switch ( aStatus )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1753
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1754
        case MSysApPsmControllerNotifyCallback::EPsmActivationComplete:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1755
             UpdateBatteryBarsL( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1756
             iVariantAccState = CHbSymbianVariant::NewL(&KPsm, CHbSymbianVariant::EDes);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1757
             if (!iHbIndicatorSymbian->Activate(KPsmPlugin,iVariantAccState)) 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1758
                {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1759
                int error = iHbIndicatorSymbian->Error();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1760
                //use the errorcode...
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1761
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1762
             break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1763
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1764
        case MSysApPsmControllerNotifyCallback::EPsmDeactivationComplete:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1765
             UpdateBatteryBarsL( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1766
             if (!iHbIndicatorSymbian->Deactivate(KPsmPlugin)) 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1767
                {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1768
                int error = iHbIndicatorSymbian->Error();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1769
                 //use the errorcode...
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1770
                }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1771
            break;
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1772
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1773
        case MSysApPsmControllerNotifyCallback::EPsmActivationFailed:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1774
            ShowUiNoteL( ECannotActivatePowerSaveMode );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1775
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1776
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1777
        case MSysApPsmControllerNotifyCallback::EPsmDeactivationFailed:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1778
            ShowUiNoteL( ECannotDeactivatePowerSaveMode );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1779
            break;            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1780
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1781
        default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1782
            break;   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1783
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1784
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1785
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1786
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1787
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1788
// CSysApAppUi::ShowAlarmIndicatorL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1789
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1790
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1791
void CSysApAppUi::ShowAlarmIndicatorL( TBool aShowIndicator )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1792
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1793
    if ( aShowIndicator)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1794
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1795
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1796
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1797
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1798
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1799
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1800
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1801
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1802
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1803
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1804
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1805
// CSysApAppUi::AlertUiAlertingL( const TBool aAlerting )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1806
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1807
void CSysApAppUi::AlertUiAlertingL( const TBool aAlerting )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1808
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1809
    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
  1810
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1811
    if ( aAlerting )
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
        TInt swState;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1814
        RProperty::Get( KPSUidStartup, KPSGlobalSystemState, swState );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1815
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1816
        if( swState == ESwStateCharging )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1817
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1818
            SetStarterState( RStarterSession::EAlarm );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1819
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1820
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1821
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1822
    iSysApLightsController->AlarmOccuredL( aAlerting );
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
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1825
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1826
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1827
// CSysApAppUi::HandleForcedLightsVTRequireL( const TInt aLightParameter )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1828
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1829
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1830
void CSysApAppUi::HandleForcedLightsVTRequireL( const TInt aLightsParameter ) const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1831
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1832
    iSysApLightsController->HandleForcedLightsVTRequireL( aLightsParameter );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1833
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1834
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1835
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1836
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1837
// CSysApAppUi::HandleForcedLightsSSRequireL( const TInt aLightParameter )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1838
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1839
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1840
void CSysApAppUi::HandleForcedLightsSSRequireL( const TInt aLightsParameter ) const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1841
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1842
    iSysApLightsController->HandleForcedLightsSSRequireL( aLightsParameter );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1843
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1844
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1845
// ---------------------------------------------------------------------------- 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1846
// CSysApAppUi::HandleForcedLightsATCRequireL( const TInt aLightParameter ) 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1847
// ---------------------------------------------------------------------------- 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1848
void CSysApAppUi::HandleForcedLightsATCRequireL( const TInt aLightsParameter ) const 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1849
    { 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1850
    iSysApLightsController->HandleForcedLightsATCRequireL( aLightsParameter ); 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1851
    } 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1852
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1853
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1854
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1855
// CSysApAppUi::HandleLightsRequireL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1856
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1857
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1858
void CSysApAppUi::HandleLightsRequireL() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1859
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1860
    iSysApLightsController->HandleLightsRequireL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1861
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1862
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1863
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1864
// ----------------------------------------------------------------------------
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1865
// CSysApAppUi::HandleRawKeyEventLightsRequireL()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1866
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1867
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1868
void CSysApAppUi::HandleRawKeyEventLightsRequireL() const
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1869
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1870
    iSysApLightsController->HandleRawKeyEventLightsRequireL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1871
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1872
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1873
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1874
// ----------------------------------------------------------------------------
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1875
// CSysApAppUi::AlertUiKeyLockOff( const TBool aKeyLockOff )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1876
// ----------------------------------------------------------------------------
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
void CSysApAppUi::AlertUiKeyLockOff( const TBool aKeyLockOff )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1879
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1880
    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
  1881
        aKeyLockOff, iDeviceLockEnabled ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1882
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1883
    if( aKeyLockOff )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1884
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1885
        // 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
  1886
        if ( !iKeyLockOnBeforeAlarm )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1887
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1888
            if ( iKeyLockEnabled || iKeyLockOnBeforeCradle || iKeyLockOnBeforeCall )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1889
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1890
                iKeyLockOnBeforeAlarm = ETrue;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1891
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1892
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1893
        iKeyguardController->DisableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1894
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1895
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1896
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1897
        if (iDeviceLockEnabled)
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1898
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1899
            // 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
  1900
            // 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
  1901
            TInt callState( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1902
            if ( callState == EPSCTsyCallStateNone || callState == EPSCTsyCallStateConnected )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1903
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1904
                iKeyguardController->EnableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1905
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1906
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1907
        else if ( iKeyLockOnBeforeAlarm && !iKeyLockOnBeforeCradle && !iKeyLockOnBeforeCall )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1908
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1909
            iKeyguardController->EnableKeyguard(ETrue);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1910
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1911
        iKeyLockOnBeforeAlarm = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1912
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1913
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1914
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1915
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1916
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1917
// CSysApAppUi::DoNotEnableKeylock()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1918
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1919
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1920
void CSysApAppUi::DoNotEnableKeylock()
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
    if ( !iKeyLockOnBeforeCradle )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1923
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1924
        iShowkeypadActivatedNoteAfterSoftReject = iKeyLockOnBeforeCall;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1925
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1926
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1927
    iKeyLockOnBeforeCall = EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1928
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1929
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1930
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1931
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1932
// CSysApAppUi::SwitchLightsOnSoftRejectL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1933
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1934
void CSysApAppUi::SwitchLightsOnSoftRejectL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1935
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1936
    iSysApLightsController->SwitchLightsOnSoftRejectL();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1937
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1938
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1939
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1940
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1941
// CSysApAppUi::SetDeviceLockEnabledL( const TBool aLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1942
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1943
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1944
void CSysApAppUi::SetDeviceLockEnabledL( const TBool aLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1945
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1946
    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
  1947
    TBool currentState( iDeviceLockEnabled );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1948
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1949
    iDeviceLockEnabled = aLockEnabled;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1950
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1951
    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
  1952
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1953
        iSysApLightsController->DeviceLockStateChangedL( iDeviceLockEnabled );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1954
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1955
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1956
    if( iDeviceLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1957
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1958
        if( iKeyLockEnabled )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1959
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1960
            iKeyguardController->DisableKeyguard(EFalse);
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1961
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1962
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1963
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1964
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1965
        // 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
  1966
        iKeyLockOnBeforeCall = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1967
        iKeyLockOnBeforeCradle = EFalse;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1968
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1969
        // 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
  1970
        if ( iSysApFeatureManager->MmcHotSwapSupported() )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1971
            {
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  1972
             RunUnlockNotifierL();
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1973
            // 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
  1974
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1975
        }
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
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1979
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1980
// CSysApAppUi::HandleBatteryStatusL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1981
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1982
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1983
void CSysApAppUi::HandleBatteryStatusL( const TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1984
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1985
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleBatteryStatusL aValue: %d"), aValue ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  1986
    
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1987
    TBool enableAutoPsm(EFalse);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1988
    CRepository* repository( NULL );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1989
    TRAPD( err, repository = CRepository::NewL( KCRUidDeviceManagementSettings ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1990
        
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1991
    if ( err == KErrNone )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1992
       {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1993
       TInt value( 0 );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1994
       err = repository->Get( KSettingsPowerSavingQuery, value );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1995
            
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1996
       if ( err == KErrNone )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1997
          {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1998
          enableAutoPsm = value ? EFalse: ETrue;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  1999
          }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2000
       }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2001
      
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2002
     _LIT(Klowbattery, "txt_power_management_dpopinfo_low_battery");
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2003
     // returns the string "low battery"
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2004
     HBufC* lowBattery = HbTextResolverSymbian::LoadL(Klowbattery);    
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2005
    
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2006
    
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2007
    if ( aValue == EBatteryStatusEmpty )
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
        //Display Recharge Battery note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2010
        ShowUiNoteL( ERechargeBatteryNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2011
        BatteryEmptyL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2012
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2013
    else if ( aValue == EBatteryStatusLow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2014
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2015
        if ( iSysApPsmController && UiReady() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2016
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2017
            iSysApPsmController->BatteryLow( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2018
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2019
                       
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2020
            if ( enableAutoPsm)
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2021
                {
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2022
                iSysApPsmController->DoEnableFullPsm( ETrue );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2023
                          
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2024
                _LIT(KPsmOn, "txt_power_management_dpopinfo_psm_activated_automa");
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2025
                // returns the string "power saving mode  on"
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2026
                HBufC* psmOn = HbTextResolverSymbian::LoadL(KPsmOn);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2027
                             
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2028
               _LIT(Kicon, "qgn_indi_battery_ps_activate");
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2029
               // returns the power save mode icon
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2030
               HBufC* psmIcon = HbTextResolverSymbian::LoadL(Kicon);                  
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2031
            
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2032
               CHbDeviceNotificationDialogSymbian::NotificationL(*psmIcon,*psmOn,*lowBattery);       
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2033
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2034
            else // default low warning note must be shown
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2035
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2036
                //Display Battery Low note.
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2037
                CHbDeviceNotificationDialogSymbian::NotificationL(KlowbatteryIcon,KNullDesC,*lowBattery);   
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2038
                }                
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2039
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2040
        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2041
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2042
            //Display Battery Low note.
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2043
            CHbDeviceNotificationDialogSymbian::NotificationL(KlowbatteryIcon,KNullDesC,*lowBattery);     
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2044
            }            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2045
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2046
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2047
    if ( iSysApBatteryInfoController )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2048
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2049
     iSysApBatteryInfoController->BatteryStatusUpdated( aValue );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2050
    }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2051
      
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2052
 delete repository;  
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2053
   }
21
c4cbaa4fb734 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
  2054
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2055
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2056
// CSysApAppUi::ShowUiNoteL( const TSysApNoteIds aNote ) const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2057
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2058
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2059
void CSysApAppUi::ShowUiNoteL( const TSysApNoteIds aNote ) const
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2060
    {
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2061
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowUiNoteL aNote: %d"), aNote ) );
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2062
    
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2063
    TInt swState( StateOfProperty( KPSUidStartup, KPSGlobalSystemState ) );
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2064
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2065
    if( UiReady() || swState == ESwStateSecurityCheck)
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2066
      {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2067
          switch ( aNote )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2068
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2069
            case EBatteryLowNote:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2070
                {
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2071
                 _LIT(KPowerPressKey,"Battery low");
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2072
                 HBufC* aString = HBufC16::NewLC(100);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2073
                 TPtrC aStringPointer = aString->Des();
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2074
                 aStringPointer.Set(KPowerPressKey);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2075
                 TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2076
                 ShowExampleUiNoteL( aStringPointer );
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2077
                 CleanupStack::PopAndDestroy(); // aString
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2078
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2079
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2080
            case EBatteryFullNote:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2081
                {
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2082
                _LIT(KPowerPressKey,"Battery full");
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2083
                HBufC* aString = HBufC16::NewLC(100);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2084
                TPtrC aStringPointer = aString->Des();
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2085
                aStringPointer.Set(KPowerPressKey);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2086
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2087
                ShowExampleUiNoteL( aStringPointer );
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2088
                CleanupStack::PopAndDestroy(); // aString
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2089
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2090
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2091
            case ERechargeBatteryNote:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2092
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2093
                iSysApLightsController->BatteryEmptyL( ETrue );
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2094
                _LIT(KPowerPressKey,"Battery empty. Recharge");
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2095
                HBufC* aString = HBufC16::NewLC(100);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2096
                TPtrC aStringPointer = aString->Des();
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2097
                aStringPointer.Set(KPowerPressKey);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2098
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2099
                ShowExampleUiNoteL( aStringPointer );
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2100
                CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2101
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2102
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2103
            case ENotChargingNote:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2104
                {
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2105
                _LIT(KPowerPressKey,"Not charging");
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2106
                HBufC* aString = HBufC16::NewLC(100);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2107
                TPtrC aStringPointer = aString->Des();
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2108
                aStringPointer.Set(KPowerPressKey);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2109
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2110
                ShowExampleUiNoteL( aStringPointer );
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2111
                CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2112
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2113
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2114
            case EBatteryFullUnplugChargerNote:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2115
                {
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2116
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) ); 
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2117
                iSysApLightsController->BatteryEmptyL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2118
                 _LIT(KunplugCharger,"txt_power_dpopinfo_unplug_charger_to_save_energy");                 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2119
                 HBufC* unplugCharger = HbTextResolverSymbian::LoadL(KunplugCharger);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2120
                 _LIT(KbatteryFull,"txt_power_management_dpophead_100_full");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2121
                 HBufC* batteryFull = HbTextResolverSymbian::LoadL(KbatteryFull);
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2122
                 CHbDeviceNotificationDialogSymbian::NotificationL(KbatteryFullIcon,*unplugCharger,*batteryFull);       
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2123
                 }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2124
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2125
            case EUnplugChargerNote:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2126
                {
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2127
                _LIT(KPowerPressKey,"Unplug charger from power supply to save energy");
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2128
                HBufC* aString = HBufC16::NewLC(250);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2129
                TPtrC aStringPointer = aString->Des();
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2130
                aStringPointer.Set(KPowerPressKey);
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2131
                TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2132
                ShowExampleUiNoteL( aStringPointer );
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2133
                CleanupStack::PopAndDestroy(); // aString
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2134
                }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2135
                break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2136
            default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2137
                break;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2138
            }
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
    }
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2141
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  2142
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2143
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2144
// CSysApAppUi::BatteryEmptyL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2145
// ----------------------------------------------------------------------------
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
void CSysApAppUi::BatteryEmptyL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2148
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2149
    iSysApLightsController->BatteryEmptyL( ETrue );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2150
    // Do not reactivate keyguard in the next startup
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2151
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 0 );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2152
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2153
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2154
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2155
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2156
// CSysApAppUi::ShowQueryL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2157
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2158
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2159
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
  2160
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2161
    // do nothing
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2162
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2163
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
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2166
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2167
// CSysApAppUi::HandleChargingStatusL
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2168
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2169
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2170
void CSysApAppUi::HandleChargingStatusL( const TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2171
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2172
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleChargingStatusL aValue: %d"), aValue ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2173
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2174
    TBool showNote( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2175
    
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2176
    UpdateBatteryBarsL( StateOfProperty( KPSUidHWRMPowerState, KHWRMBatteryLevel ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2177
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2178
    if ( iSysApPsmController && UiReady() ) 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2179
        {             
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2180
        if ( iCharging && !iSysApPsmController->ChargerConnected() ) // first time after charger connection
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2181
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2182
            iSysApPsmController->ConnectCharger( ETrue );
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2183
            iSysApPsmController->DoEnableFullPsm(EFalse);             
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2184
            iVariantAccState = CHbSymbianVariant::NewL(&KCharging, CHbSymbianVariant::EDes);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2185
               
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2186
            if (!iHbIndicatorSymbian->Activate(KPsmPlugin,iVariantAccState)) 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2187
               {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2188
               int error = iHbIndicatorSymbian->Error();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2189
               //use the errorcode...
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2190
               }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2191
              
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2192
                           
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2193
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2194
        else if ( aValue == EChargingStatusNotConnected )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2195
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2196
            iSysApPsmController->ConnectCharger( EFalse );
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2197
            if (!iHbIndicatorSymbian->Deactivate(KPsmPlugin)) 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2198
               {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2199
               int error = iHbIndicatorSymbian->Error();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2200
               //use the errorcode...
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2201
               }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2202
            }            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2203
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2204
    if( showNote )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2205
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2206
        HandleChargerNotesL( aValue );    
0
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
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2209
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2210
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2211
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2212
// CSysApAppUi::HandleChargerNotesL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2213
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2214
void CSysApAppUi::HandleChargerNotesL( const TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2215
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2216
    TBool showNote(StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateRinging);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2217
    if ( aValue == EChargingStatusCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2218
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2219
        iSysApLightsController->BatteryEmptyL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2220
        TRACES( RDebug::Print( _L("SysAp: charger connected") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2221
        iSysApLightsController->ChargerConnectedL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2222
        ShowChargingNoteL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2223
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2224
    //Display Not Charging note
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2225
    else if ( aValue == EChargingStatusError )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2226
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2227
        if(showNote)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2228
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2229
            ShowUiNoteL( ENotChargingNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2230
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2231
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2232
    else if ( aValue == EChargingStatusChargingComplete )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2233
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2234
        iSysApLightsController->ChargingCompleteL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2235
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2236
        TSysApNoteIds note( EBatteryFullNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2237
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2238
        if ( !iSysApUsbChargerDetector.HostOnlyUsbChargingUsed() &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2239
             iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2240
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2241
            note = EBatteryFullUnplugChargerNote;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2242
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2243
        iSysApUsbChargerDetector.Reset();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2244
        if(showNote)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2245
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2246
            ShowUiNoteL( note );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2247
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2248
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2249
    else if ( aValue == EChargingStatusNotConnected )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2250
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2251
        TRACES( RDebug::Print( _L("SysAp: charger removed") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2252
        iSysApLightsController->ChargerConnectedL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2253
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2254
        if ( !iSysApUsbChargerDetector.HostOnlyUsbChargingUsed() &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2255
             iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2256
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2257
        if(showNote)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2258
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2259
                ShowUiNoteL( EUnplugChargerNote );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2260
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2261
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2262
        iSysApUsbChargerDetector.Reset();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2263
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2264
    else if ( aValue == EChargingStatusNotCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2265
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2266
        TRACES( RDebug::Print( _L("SysAp: Not charging") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2267
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2268
    else if ( aValue == EChargingStatusAlmostComplete )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2269
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2270
        TRACES( RDebug::Print( _L("SysAp: Charging almost complete") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2271
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2272
    else if ( aValue == EChargingStatusChargingContinued )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2273
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2274
        //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
  2275
        // set lights controller iBatteryEmpty to EFalse
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2276
        iSysApLightsController->BatteryEmptyL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2277
        TRACES( RDebug::Print( _L("SysAp: charging continues") ) );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2278
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2279
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2280
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2281
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2282
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2283
// CSysApAppUi::UpdateBatteryBarsL( const TInt aState )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2284
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2285
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2286
void CSysApAppUi::UpdateBatteryBarsL( const TInt  /* aState */)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2287
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2288
    TInt state( StateOfProperty( KPSUidHWRMPowerState, KHWRMChargingStatus ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2289
//    TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL aState: %d, chargerState:%d"), aState, state ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2290
    HandleUsbCharger( state );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2291
    if( state == EChargingStatusCharging ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2292
        state == EChargingStatusChargingContinued ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2293
        state == EChargingStatusAlmostComplete )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2294
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2295
        if ( !iCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2296
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2297
            TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL: Starting Charging") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2298
            iCharging = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2299
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2300
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2301
    else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2302
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2303
        if ( iCharging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2304
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2305
            TRACES( RDebug::Print( _L("CSysApAppUi::UpdateBatteryBarsL: Stopping Charging") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2306
            iCharging = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2307
            }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2308
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2309
    
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2310
    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
  2311
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2312
        iSysApPsmController = CSysApPsmController::NewL( *this );        
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2313
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2314
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2315
    if ( iSysApPsmController )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2316
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2317
        if ( iSysApPsmController->FullPsmEnabled() )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2318
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2319
             // activate psm indicator 
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2320
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2321
        else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2322
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2323
            // deactivate psm indicator
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2324
            }            
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2325
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2326
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2327
       if ( iSysApBatteryInfoController )        
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2328
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2329
         iSysApBatteryInfoController->BatteryLevelUpdatedL();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2330
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2331
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2332
     }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2333
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2334
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2335
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2336
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2337
// CSysApAppUi::ShowChargingNoteL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2338
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2339
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2340
void CSysApAppUi::ShowChargingNoteL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2341
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2342
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowChargingNoteL") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2343
    TBool showNote( ETrue );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2344
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2345
    TInt swState( StateOfProperty( KPSUidStartup, KPSGlobalSystemState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2346
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowChargingNoteL: swState: %d"), swState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2347
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2348
    if( UiReady() || swState == ESwStateSecurityCheck )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2349
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2350
        if ( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) ==  EPSCTsyCallStateRinging )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2351
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2352
            showNote = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2353
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2354
        TRACES( RDebug::Print( _L("CSysApAppUi::ShowChargingNoteL KCTsyCallState=%d"), StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2355
        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
  2356
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2357
            TRACES( RDebug::Print( _L("CSysApWsClient::RunL(): Key EEventKeyUp 01") ) );   
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2358
            _LIT(KChargingNote,"txt_power_management_dblist_charging");
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2359
            HBufC* chargingNote = HbTextResolverSymbian::LoadL(KChargingNote);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2360
            CHbDeviceNotificationDialogSymbian::NotificationL(KNullDesC,*chargingNote);     
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2361
                    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2362
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2363
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2364
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2365
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2366
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2367
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2368
// CSysApAppUi::HandleUsbCharger
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2369
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2370
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2371
void CSysApAppUi::HandleUsbCharger( const TInt aValue )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2372
    {        
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2373
    if ( aValue == EChargingStatusCharging ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2374
         aValue == EChargingStatusChargingContinued ||
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2375
         aValue == EChargingStatusAlmostComplete )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2376
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2377
        iSysApUsbChargerDetector.SetChargingUsed( ETrue );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2378
        if ( !iSysApUsbIndicatorController &&
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2379
             iSysApFeatureManager->Supported( KSysApFeatureIdChargerReminderNotes ) &&
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2380
             iSysApFeatureManager->Supported( KSysApFeatureIdUsbChargingWithoutReminderNotes ) )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2381
            {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2382
            // Start observing USB state for the reminder note
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2383
            TRAPD ( usbErr, iSysApUsbIndicatorController = CreateSysApUsbIndicatorL( *this ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2384
            if ( usbErr )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2385
                {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2386
                TRACES( RDebug::Print(
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2387
                    _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
  2388
                    usbErr ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2389
                }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2390
            }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2391
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2392
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2393
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2394
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2395
// CSysApAppUi::HandleCurrentCallStateChangeL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2396
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2397
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2398
void CSysApAppUi::HandleCurrentCallStateChangeL( TInt aCurrentCallState )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2399
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2400
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: KUidCurrentCall: %d" ), aCurrentCallState ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2401
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2402
    switch ( aCurrentCallState )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2403
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2404
        case EPSCTsyCallStateRinging:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2405
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2406
            iSysApLightsController->CallComingInL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2407
            // Disable keylock when a call is coming in
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2408
            if ( iKeyLockEnabled || iDeviceLockEnabled || iKeyLockOnBeforeCradle || iKeyLockOnBeforeAlarm )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2409
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2410
                TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: EPSCTsyCallStateRinging: disable keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2411
                iKeyLockOnBeforeCall = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2412
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2413
                if ( iKeyLockEnabled || iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2414
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2415
                    if ( !iSysApFeatureManager->TouchUnlockStrokeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2416
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2417
                        iKeyguardController->DisableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2418
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2419
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2420
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2421
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2422
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2423
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2424
        case EPSCTsyCallStateDialling:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2425
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2426
            // Disable keypad lock during an emergency call
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2427
            // 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
  2428
            // but if the call is an emergency one then we will disable the keypad lock
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2429
            if ( iKeyLockEnabled || iDeviceLockEnabled || iKeyLockOnBeforeCradle )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2430
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2431
                TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: EPSCTsyCallStateDialling: disable keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2432
                iKeyLockOnBeforeCall = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2433
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2434
                if ( IsEmergencyCall() && (iKeyLockEnabled || iDeviceLockEnabled ))
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2435
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2436
                    iKeyguardController->DisableKeyguard(EFalse);
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
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2440
            // Enable signal & network indicators when an emergency call is made in Offline Mode
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2441
            if( iSysApOfflineModeController->OfflineModeActive() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2442
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2443
                    // Signal indicators not updated with VoIP call
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2444
                    if ( StateOfProperty(KPSUidCtsyCallInformation, KCTsyCallType) != EPSCTsyCallTypeVoIP) 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2445
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2446
                        iEmergencyCallActive = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2447
                        // not supporting this
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2448
                        // UpdateSignalBarsL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2449
                        // SetSignalIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2450
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2451
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2452
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2453
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2454
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2455
        case EPSCTsyCallStateConnected:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2456
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2457
            if (StateOfProperty(KPSUidCtsyCallInformation, KCTsyCallType) == EPSCTsyCallTypeCSVoice)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2458
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2459
                // Check if GPRS suspended note is required
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2460
                iCallActivated = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2461
                // not supporting this
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2462
                // HandleGprsNotesL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2463
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2464
            if ( iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2465
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2466
                // Enable keylock via autolock emulation if device lock enabled. 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2467
                // Otherwise e.g. messages can be read using softkeys during ongoing call.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2468
                iKeyguardController->EnableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2469
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2470
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2471
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2472
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2473
        case EPSCTsyCallStateNone:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2474
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2475
            // Reset timers in ScreenSaver and Autolock
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2476
            User::ResetInactivityTime();
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2477
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2478
            if ( iEmergencyCallActive )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2479
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2480
                iEmergencyCallActive = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2481
                // not supporting this
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2482
                // UpdateSignalBarsL( 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2483
                // SetSignalIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2484
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2485
            if ( iKeyLockOnBeforeCall )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2486
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2487
                TRACES( RDebug::Print( _L("CSysApAppUi::HandleCurrentCallStateChangeL: EPSCTsyCallStateNone: enable keylock") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2488
                iKeyLockOnBeforeCall = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2489
                if ( !iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2490
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2491
                    if ( !iKeyLockOnBeforeCradle && !iKeyLockOnBeforeAlarm &&
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2492
                          !iSysApFeatureManager->TouchUnlockStrokeSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2493
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2494
                        if ( iSysApCenRepController->GetInt( KCRUidCommonTelephonySettings, KSettingsSummaryAfterCall ) == 1 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2495
                            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2496
                            // Let's not hide "Summary After Call" dialog
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2497
                            iKeyguardController->EnableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2498
                            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2499
                        else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2500
                            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2501
                            iKeyguardController->EnableKeyguard(ETrue);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2502
                            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2503
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2504
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2505
                else
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2506
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2507
                    iKeyguardController->EnableKeyguard(EFalse);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2508
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2509
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2510
            if ( iShowkeypadActivatedNoteAfterSoftReject )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2511
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2512
                ShowUiNoteL( EKeypadActiveNote );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2513
                iShowkeypadActivatedNoteAfterSoftReject = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2514
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2515
            iCallActivated = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2516
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2517
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2518
            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2519
        default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2520
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2521
        }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2522
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2523
    if ( aCurrentCallState != EPSCTsyCallStateRinging )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2524
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2525
        iSysApLightsController->CallComingInL( EFalse );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2526
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2527
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2528
    SetIhfIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2529
    SetHacIndicatorL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2530
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2531
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2532
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2533
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2534
/**
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2535
 * To check the for an emergency call. 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2536
 * 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2537
 * @return ETrue if there is an emergency call active otherwise, EFalse.
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2538
 */
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2539
TBool CSysApAppUi::IsEmergencyCall()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2540
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2541
        TBool retVal( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2542
        TInt err( KErrNone );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2543
        TInt state( 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2544
     
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2545
        err = RProperty::Get(KPSUidCtsyEmergencyCallInfo, KCTSYEmergencyCallInfo, state );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2546
        if ( err == KErrNone && state )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2547
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2548
            retVal = ETrue;            
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2549
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2550
        return retVal;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2551
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2552
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2553
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2554
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2555
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2556
// CSysApAppUi::IsStateNormal()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2557
//
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2558
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2559
TBool CSysApAppUi::IsStateNormal() const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2560
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2561
    TInt state;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2562
    TInt errorCode =
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2563
        RProperty::Get( KPSUidStartup, KPSGlobalSystemState, state );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2564
    if ( errorCode == KErrNone )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2565
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2566
        return state == ESwStateNormalRfOn ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2567
               state == ESwStateNormalRfOff ||
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2568
               state == ESwStateNormalBTSap;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2569
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2570
    else
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2571
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2572
        TRACES( RDebug::Print( _L( "CSysApAppUi::IsStateNormal: Failed to read global system state, error code %d." ), errorCode ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2573
        return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2574
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2575
    }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2576
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2577
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2578
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2579
// CSysApAppUi::HandleAccessoryProfileInStartupL()
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
void CSysApAppUi::HandleAccessoryProfileInStartupL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2583
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2584
    TRACES( RDebug::Print( _L( "CSysApAppUi::HandleAccessoryProfileInStartupL" ) ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2585
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2586
    if ( !iSysApOfflineModeController->OfflineModeActive() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2587
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2588
        iIgnoreAccessorySpecificProfileChanges = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2589
        TBool accessoryConnectedInShutdown( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2590
        TInt accessoryTemp( iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApAccessoryConnected ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2591
        if ( accessoryTemp == 1 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2592
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2593
            accessoryConnectedInShutdown = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2594
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2595
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2596
        TBool accessoryConnectedNow ( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2597
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2598
        TAccMode accessoryState(EAccModeHandPortable);
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2599
        TInt physicalConnectionType = 0;
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2600
        if ( iSysApAccessoryObserver )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2601
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2602
            accessoryState = iSysApAccessoryObserver->GetAccessoryMode();
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2603
            physicalConnectionType = iSysApAccessoryObserver->GetAccessoryConnectionType();
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2604
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2605
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2606
        if ( accessoryState != EAccModeHandPortable )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2607
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2608
            accessoryConnectedNow = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2609
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2610
        TRACES( RDebug::Print( _L( "CSysApAppUi::HandleAccessoryProfileInStartupL: accessoryConnectedInShutdown: %d, accessoryConnectedNow: %d" ),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2611
                              accessoryConnectedInShutdown, accessoryConnectedNow ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2612
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2613
        if ( accessoryConnectedInShutdown && !accessoryConnectedNow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2614
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2615
            HandleAccessoryDisconnectedL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2616
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2617
        else if ( !accessoryConnectedInShutdown && accessoryConnectedNow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2618
            {
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2619
            HandleAccessoryConnectedL( accessoryState, physicalConnectionType );
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2620
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2621
        else if ( !accessoryConnectedNow )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2622
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2623
            // not supporting this 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2624
            // TInt activeProfile ( ActiveProfileId() );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2625
            // SysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApActiveProfileBeforeAccessoryConnected, activeProfile );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2626
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2627
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2628
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2629
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
// CSysApAppUi::CenRepController()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2633
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2634
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2635
CSysApCenRepController& CSysApAppUi::CenRepController()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2636
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2637
    __ASSERT_ALWAYS( iSysApCenRepController, User::Panic( _L("CSysApAppUi::CenRepController"), KErrBadHandle ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2638
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2639
    return *iSysApCenRepController;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2640
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2641
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2642
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2643
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2644
// CSysApAppUi::LogsObserverL
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2645
// ----------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2646
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2647
CSysApCenRepLogsObserver& CSysApAppUi::LogsObserverL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2648
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2649
    TRACES( RDebug::Print( _L("CSysApAppUi::LogsObserverL()") ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2650
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2651
    // 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
  2652
    if ( !iSysApCenRepLogsObserver )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2653
        {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2654
        iSysApCenRepLogsObserver = CSysApCenRepLogsObserver::NewL( *this );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2655
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2656
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2657
    return *iSysApCenRepLogsObserver;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2658
    }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2659
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
// CSysApAppUi::HandleWlanIndicator()
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
void CSysApAppUi::HandleWlanIndicatorL( TInt aValue )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2665
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2666
    if ( aValue == EPSWlanIndicatorAvailable )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2667
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2668
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2669
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2670
    else if ( aValue == EPSWlanIndicatorActive )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2671
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2672
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2673
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2674
    else if ( aValue == EPSWlanIndicatorActiveSecure )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2675
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2676
        // do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2677
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2678
    else // No indication required
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2679
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2680
        // do nothing
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
void CSysApAppUi::ShowNotificationDialog(const TDesC& noteText)const
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2685
{
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2686
    //Todo:4.Notification--Just Popup message
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2687
    //Todo: #include <HbDeviceNotificationDialogSymbian.h>
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2688
    CHbDeviceNotificationDialogSymbian *notificationDialog =  CHbDeviceNotificationDialogSymbian::NewL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2689
    CleanupStack::PushL(notificationDialog);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2690
    notificationDialog->SetTextL(noteText);//noteText with Qm file input
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2691
    notificationDialog->SetTimeout(100);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2692
    notificationDialog->ShowL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2693
    CleanupStack::PopAndDestroy(notificationDialog);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2694
}
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2695
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2696
void CSysApAppUi::SetKeyLockEnabledL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2697
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2698
    iKeyLockEnabled = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2699
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 1 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2700
    // not supporting indicator 
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2701
//    SetIndicatorStateL( EAknIndicatorKeyguard, EAknIndicatorStateOn );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2702
    iSysApLightsController->KeylockStateChangedL( ETrue );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2703
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2704
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2705
void CSysApAppUi::SetKeyLockDisabledL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2706
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2707
    iKeyLockEnabled = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2708
    iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 0 );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2709
    // SetIndicatorStateL( EAknIndicatorKeyguard, EAknIndicatorStateOff );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2710
    if (! iDeviceLockEnabled )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2711
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2712
        iSysApLightsController->KeylockStateChangedL( EFalse );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2713
        if ( iSysApFeatureManager->MmcHotSwapSupported() )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2714
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2715
            if ( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateRinging && StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateAlerting )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2716
                {
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2717
                 RunUnlockNotifierL();
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2718
                // need to handle MMC unlock query in next sub
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2719
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2720
            }
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
void CSysApAppUi::SetLightsOnUnlockNoteL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2725
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2726
    iSysApLightsController->SetLightsOnUnlockNoteL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2727
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2728
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2729
void CSysApAppUi::SetLightsOnEcsQueryL()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2730
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2731
    iSysApLightsController->SetLightsOnEcsQueryL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2732
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2733
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2734
void CSysApAppUi::SetLightsOnSecurityQueryL()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2735
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2736
    iSysApLightsController->SetLightsOnSecurityQueryL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2737
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2738
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2739
TBool CSysApAppUi::CheckLongPowerKeyPressed()
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2740
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2741
    return iCheckLongPowerKeyEvent;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2742
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2743
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2744
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2745
// ----------------------------------------------------------------------------
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2746
// CSysApAppUi::HandleKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2747
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2748
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2749
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
  2750
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2751
    if ( ! iShutdownStarted )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2752
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2753
        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
  2754
                               aKeyEvent.iCode, aKeyEvent.iScanCode, aType, iIgnoreNextPowerKeyUpEvent, iPowerKeyPopupMenuActive, iLastPowerKeyWasShort, iPowerKeyPopupMenuDismissed ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2755
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2756
#ifdef _DEBUG
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2757
        // camery latency measurement environment instrumentation, don't remove
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2758
        if ( aType == EEventKey && aKeyEvent.iCode == EKeyCamera )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2759
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2760
            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
  2761
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2762
#endif // _DEBUG
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2763
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2764
        TKeyResponse response(EKeyWasNotConsumed);
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2765
        if (response)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2766
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2767
            //Do nothing:: To supress warning
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2768
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2769
        
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2770
        if( aType == EEventKey )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2771
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2772
            switch ( aKeyEvent.iCode )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2773
                {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2774
#ifdef _DEBUG
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2775
                case 'E': //For testing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2776
                    Exit();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2777
                    break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2778
#endif
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2779
                case EKeyPowerOff:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2780
                    //Short power key press
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2781
                    iKeyBoardRepeatCount++;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2782
                    if( aKeyEvent.iRepeats == 0 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2783
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2784
                        TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL, Short powerkey") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2785
                        iLastPowerKeyWasShort = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2786
                        TRACES( RDebug::Print( _L("CSysApAppUi::Key was consumed by pressing short power") ) );          
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2787
                        //Powermenu
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2788
                        if (iPowerMenuDialog!=NULL)
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2789
                            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2790
                            //PowerMenu already exist
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2791
                            delete iPowerMenuDialog;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2792
                            iPowerMenuDialog = NULL;
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2793
                            }                                               
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2794
                        iPowerMenuDialog = CHbDevicePowerMenuSymbian::NewL(*this);  
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2795
                        iPowerMenuDialog->ShowL();           
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2796
                                         
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2797
                        iIgnoreNextPowerKeyRepeats = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2798
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2799
                    //Long power key press
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2800
                    else if( aKeyEvent.iRepeats > 0 && iKeyBoardRepeatCount >= iSysApCenRepController->GetInt( KCRUidCoreApplicationUIsSysAp, KSysApPowerkeyRepeatcount ))
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2801
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2802
                        iKeyBoardRepeatCount = -1;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2803
                        TRACES( RDebug::Print(_L("CSysApAppUi::HandleKeyEventL, Long powerkey") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2804
                        iLastPowerKeyWasShort = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2805
                        HandleLongPowerKeyPressedL();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2806
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2807
                    break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2808
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2809
                default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2810
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2811
                    TKeyResponse response = EKeyWasNotConsumed;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2812
                    if (iSysApKeyManagement)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2813
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2814
                        response = iSysApKeyManagement->HandleKeyEventL(aKeyEvent, aType );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2815
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2816
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2817
                    if ( response == EKeyWasNotConsumed ) // none of the plugins consumed the key, offer it to default handling
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2818
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2819
                        iSysApDefaultKeyHandler->HandleKeyEventL( aKeyEvent, aType );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2820
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2821
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2822
                    break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2823
                }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2824
            }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2825
        else if( aType == EEventKeyUp )
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2826
            {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2827
            if( aKeyEvent.iScanCode == EStdKeyDevice2 )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2828
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2829
                if ( iIgnoreNextPowerKeyUpEvent )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2830
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2831
                    if ( !iPowerKeyPopupMenuDismissed ) // If the popup menu has been dismissed, do nothing
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2832
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2833
                        iPowerKeyPopupMenuActive = ETrue;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2834
                        iIgnoreNextPowerKeyUpEvent = EFalse;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2835
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2836
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2837
                else if( iLastPowerKeyWasShort )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2838
                    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2839
                    if ( iPowerKeyPopupMenuActive )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2840
                        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2841
                        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2842
                    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2843
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2844
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2845
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2846
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2847
        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
  2848
                               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
  2849
        }
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2850
    else // shutdown started
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2851
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2852
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleKeyEventL: aKeyEvent.iCode:%d, aKeyEvent.iScanCode:%d, aType:%d"),
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2853
                               aKeyEvent.iCode, aKeyEvent.iScanCode, aType ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2854
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2855
        // When shutdown has been started, only device mode key events are passed to plug-in framework
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2856
        // This for enabling plug-in activities during shutdown animation
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2857
        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
  2858
            {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2859
            if ( aType == EEventKey && iSysApKeyManagement )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2860
                {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2861
                iSysApKeyManagement->HandleKeyEventL( aKeyEvent, aType );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2862
                }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2863
            }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2864
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleKeyEventL: ended") ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2865
        }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2866
    return EKeyWasConsumed;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2867
    }
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2868
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2869
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2870
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2871
// CSysApAppUi::HandleCommandL( TInt aCommand)
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2872
// ----------------------------------------------------------------------------
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2873
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2874
void CSysApAppUi::HandleCommandL( TInt aCommand )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2875
    {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2876
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleCommandL aCommend: %d"), aCommand ) );
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2877
    switch ( aCommand )
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2878
        {
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2879
        case EEikCmdExit:   // EAknCmdExit
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2880
            Exit();
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2881
            break;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2882
        default:
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2883
            break;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2884
        }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2885
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2886
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2887
TBool CSysApAppUi::ReleasePowerMenuCustomDialogMemory()
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2888
    {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2889
    if (iPowerMenuDialog!=NULL)
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2890
        {
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2891
        //PowerMenu already exist
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2892
        delete iPowerMenuDialog;
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2893
        iPowerMenuDialog = NULL;
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2894
        TRACES( RDebug::Print(_L("CSysApAppUi::ReleasePowerMenuCustomDialogMemory True") ) );                            
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2895
        return ETrue;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2896
        }
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2897
    TRACES( RDebug::Print(_L("CSysApAppUi::ReleasePowerMenuCustomDialogMemory false") ) );                            
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  2898
    return EFalse;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2899
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2900
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2901
TBool CSysApAppUi::NotifiedDialogIfRequiredAndReleaseMemory()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2902
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2903
    TRACES( RDebug::Print(_L("CSysApAppUi::NotifiedDialogIfRequiredAndReleaseMemory(): Begin") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2904
    TRACES( RDebug::Print(_L("CSysApAppUi::NotifiedDialogIfRequiredAndReleaseMemory(): Enter for popping another dialog") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2905
    TInt popUpError = iSysApDriveUnlockHandler->CheckMemoryDialogIfNeeded();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2906
    
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2907
    //Deside if dialog required again !!    
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2908
    if(popUpError)
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2909
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2910
        iSysApDriveUnlockHandler->ReleaseMemoryForInputCardDialog();  // check memory has released.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2911
        iSysApDriveUnlockHandler->UnlockComplete(KErrNone);
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2912
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2913
    else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2914
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2915
        iSysApDriveUnlockHandler->StartUnlock();// pop up the dialog again !!        
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2916
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2917
    
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2918
    TRACES( RDebug::Print(_L("CSysApAppUi::NotifiedDialogIfRequiredAndReleaseMemory(): End")) );    
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2919
    return popUpError;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2920
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2921
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2922
void CSysApAppUi::ReleaseMemoryForMemoryCardDialog()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2923
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2924
    TRACES( RDebug::Print(_L("CSysApAppUi::CSysApAppUi::ReleaseMemoryForMemoryCardDialog()")) );                                    
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2925
    iSysApDriveUnlockHandler->ReleaseMemoryForInputCardDialog();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  2926
    }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  2927
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2928
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2929
// CSysApAppUi::ShowAnimationL()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2930
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2931
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2932
#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2933
void
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2934
#else // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2935
TBool
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2936
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2937
CSysApAppUi::ShowAnimationL()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2938
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2939
    TRACES( RDebug::Print(_L("CSysApAppUi::ShowAnimationL(): START" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2940
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2941
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowAnimationL: Initialise shutdown animation") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2942
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2943
#ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2944
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2945
    PrepareForShutdownAnimation();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2946
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2947
    iSysApShutdownAnimation = CSysApShutdownAnimation::NewL( *iSysApShutdownImage );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2948
    iSysApShutdownAnimation->Play( TCallBack( DoStopAnimTiming, this ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2949
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2950
    TRACES( RDebug::Print(_L("CSysApAppUi::ShowAnimationL(): End" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2951
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2952
#else // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2953
    iSysApShutdownAnimation = CSysApShutdownAnimation::NewL( this );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2954
    AddToStackL( iSysApShutdownAnimation );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2955
    iAnimationShowingTime = iSysApShutdownAnimation->ShowingTime();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2956
    TRACES( RDebug::Print( _L("CSysApAppUi::ShowAnimationL: Shutdown animation initialised. Animation time = %d") ,iAnimationShowingTime) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2957
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2958
    TBool ret_val( EFalse );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2959
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2960
    if ( iAnimationShowingTime )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2961
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2962
        if ( iSysApFeatureManager->CoverDisplaySupported() )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2963
            {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2964
            // Construct mediator observer
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2965
            iSysApMediatorObserver = CSysApMediatorObserver::NewL( this );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2966
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2967
            // Sync animation
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2968
            TInt err = iSysApMediatorObserver->SyncShutdownAnimation();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2969
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2970
            if ( err != KErrNone )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2971
                {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2972
                // Pretend coverUI synced instantly if error in issuing command.
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2973
                ShutdownAnimationSyncOK();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2974
                }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2975
            }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2976
        else
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2977
            {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2978
            // Pretend coverUI synced instantly when it is not supported.
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2979
            ShutdownAnimationSyncOK();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2980
            }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2981
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2982
        ret_val = ETrue;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2983
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2984
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2985
    TRACES( RDebug::Print(_L("CSysApAppUi::ShowAnimationL(): returns: %d" ),ret_val ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2986
    return ret_val;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2987
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2988
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2989
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2990
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2991
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2992
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2993
// CSysApAppUi::PrepareForShutdownAnimation()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2994
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2995
void CSysApAppUi::PrepareForShutdownAnimation()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2996
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2997
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownAnimation() begin") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2998
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  2999
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3000
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownAnimation() showtime = %d"), iAnimationShowingTime ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3001
    if ( iAnimationShowingTime )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3002
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3003
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3004
        
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3005
        if (iPowerMenuDialog!=NULL)
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3006
            {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3007
            //PowerMenu already exist
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3008
            delete iPowerMenuDialog;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3009
            iPowerMenuDialog = NULL;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3010
            } 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3011
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3012
        RWindowGroup groupWin = iCoeEnv->RootWin();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3013
        iCapturedAppskey = groupWin.CaptureKey( EKeyApplication, KModifierMask, KModifierMask );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3014
        iCapturedAppskeyUpAndDowns = groupWin.CaptureKeyUpAndDowns( EStdKeyApplication0, KModifierMask, KModifierMask );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3015
        iEikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3016
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3017
        TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownAnimation() Draw background image" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3018
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3019
        ShowShutdownImage( KBackgroundImageID );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3020
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3021
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3022
        TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownAnimation() Show Shutdown animation" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3023
        TInt err(0);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3024
        TRAP( err, iSysApShutdownAnimation->StartL( iLastPowerKeyWasShort ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3025
        if ( err )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3026
            {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3027
            TRACES( RDebug::Print( _L("SysAp: Shutdown animation fails. Error code: %d" ), err ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3028
            // Start animation timing immediatily if animation starting fails.
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3029
            // Otherwise animation will call StartAnimTiming when it is ready.
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3030
            StartAnimTiming();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3031
            }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3032
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3033
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3034
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3035
    TRACES( RDebug::Print( _L("CSysApAppUi::PrepareForShutdownAnimation() end") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3036
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3037
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3038
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3039
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3040
// CSysApAppUi::DoStopAnimTiming( TAny* aObject )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3041
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3042
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3043
TInt CSysApAppUi::DoStopAnimTiming( TAny* aObject )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3044
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3045
    TInt err(KErrNone);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3046
    CSysApAppUi* appUi = STATIC_CAST( CSysApAppUi*, aObject );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3047
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3048
    // This method could theoretically be called by two timers (iAnimTimer and one in CSysApShutdownAnimation),
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3049
    // so a check is needed to prevent multiple executions.
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3050
    if ( !(appUi->iShutdownContinued) )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3051
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3052
        appUi->iShutdownContinued = ETrue;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3053
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3054
        TRACES( RDebug::Print( _L("CSysApAppUi::DoStopAnimTiming() Animation timer completed or animation skipped" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3055
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3056
#ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3057
        if ( appUi->iAnimTimer )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3058
            {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3059
            appUi->iAnimTimer->Cancel();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3060
            }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3061
#endif // RD_STARTUP_ANIMATION_CUSTOMIZATION
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3062
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3063
        TRACES( RDebug::Print( _L("CSysApAppUi::DoStopAnimTiming() Call ContinueShutdown(...)" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3064
        appUi->ContinueShutdown();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3065
        TRACES( RDebug::Print( _L("CSysApAppUi::DoStopAnimTiming() end") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3066
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3067
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3068
    return err;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3069
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3070
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3071
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3072
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3073
// CSysApAppUi::ContinueShutdown()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3074
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3075
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3076
void CSysApAppUi::ContinueShutdown()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3077
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3078
    TRACES( RDebug::Print(_L("CSysApAppUi::ContinueShutdown() started" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3079
    CompleteShutdown();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3080
    TRACES( RDebug::Print(_L("CSysApAppUi::ContinueShutdown() completed" ) ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3081
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3082
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3083
CEikStatusPane* CSysApAppUi::StatusPane()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3084
{
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3085
return iEikonEnv->AppUiFactory()->StatusPane();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3086
}
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3087
 
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3088
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3089
#ifndef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3090
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3091
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3092
// CSysApAppUi::EjectUsed
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3093
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3094
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3095
void CSysApAppUi::EjectUsed( TInt /*aDrive*/ )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3096
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3097
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3098
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3099
#else // RD_MULTIPLE_DRIVE
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3100
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3101
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3102
// CSysApAppUi::ShowEjectWaitNoteL
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3103
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3104
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3105
void CSysApAppUi::ShowEjectWaitNoteL( TInt /* aDriveToEject */ )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3106
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3107
 /*   if ( iSysApWaitNote )
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3108
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3109
        return;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3110
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3111
    HBufC* text = iSysApDriveList->GetFormattedDriveNameLC(
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3112
        aDriveToEject,
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3113
        0, // Not used
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3114
        R_QTN_EJECTING_MEMORY_NAME_WAIT );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3115
    iSysApWaitNote = CSysApWaitNote::NewL(
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3116
        iSysApFeatureManager->CoverDisplaySupported() );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3117
    iSysApWaitNote->ShowNoteL( EClosingApplicationsNote, text );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3118
    CleanupStack::PopAndDestroy( text );
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3119
 */   }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3120
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3121
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3122
// CSysApAppUi::IsEjectQueryVisible
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3123
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3124
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3125
TBool CSysApAppUi::IsEjectQueryVisible()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3126
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3127
//    if ( !iSysApConfirmationQuery )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3128
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3129
        return EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3130
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3131
//    TInt queryId( iSysApConfirmationQuery->CurrentQuery() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3132
//    return ( queryId == ESysApEjectMmcQuery || queryId == ESysApRemoveMmcNote );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3133
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3134
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3135
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3136
// CSysApAppUi::UpdateInsertedMemoryCardsL
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3137
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3138
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3139
void CSysApAppUi::UpdateInsertedMemoryCardsL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3140
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3141
    // Update inserted memory cards
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3142
    iSysApDriveList->GetMemoryCardsL(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3143
        iInsertedMemoryCards, CSysApDriveList::EIncludeInserted );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3144
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3145
    // Update memory card indicator status
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3146
//    SetMemoryCardIndicatorL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3147
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3148
    // Handle unlock
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3149
    RunUnlockNotifierL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3150
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3151
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3152
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3153
// CSysApAppUi::EjectUsed
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3154
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3155
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3156
void CSysApAppUi::EjectUsed( TInt aDrive )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3157
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3158
    // Check drive inserted before starting eject confirm query
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3159
    TInt insertedIndex( CSysApDriveList::Find( iInsertedMemoryCards, aDrive ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3160
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3161
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3162
        _L( "CSysApAppUi::EjectUsed: drive: %d, index: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3163
        aDrive, insertedIndex ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3164
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3165
    if ( insertedIndex == KErrNotFound )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3166
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3167
        return;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3168
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3169
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3170
    iMMCEjectUsed = ETrue;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3171
    iDriveToEject = aDrive;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3172
    iSysApDriveList->ResetDrivesToEject();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3173
    TRAPD( err, EjectMMCL() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3174
    if ( err != KErrNone )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3175
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3176
        TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3177
            _L( "CSysApAppUi::EjectUsed: err: %d" ), err ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3178
        iMMCEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3179
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3180
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3181
#endif // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3182
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3183
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3184
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3185
// CSysApAppUi::EjectMMCCanceled
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3186
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3187
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3188
void CSysApAppUi::EjectMMCCanceled()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3189
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3190
    // Called from eject confirm query, reset eject status
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3191
#ifdef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3192
    iMMCEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3193
#endif // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3194
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3195
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3196
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3197
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3198
#ifndef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3199
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3200
// CSysApAppUi::MountMMC()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3201
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3202
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3203
TInt CSysApAppUi::MountMMC()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3204
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3205
    TRACES( RDebug::Print( _L("CSysApAppUi::MountMMC") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3206
    TInt err ( KErrNotSupported );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3207
    if ( iSysApFeatureManager->MmcSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3208
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3209
#ifdef __WINS__ // Let's sleep a second in WINS
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3210
        User::After( 1000000 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3211
#endif
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3212
        err = iEikonEnv->FsSession().MountFileSystem( KFSName, KMMCDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3213
        TRACES( RDebug::Print( _L("CSysApAppUi::MountMMC: RFs::MountFileSystem() returned: %d"), err ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3214
        if ( err == KErrInUse )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3215
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3216
            User::After( 1000000 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3217
            err = iEikonEnv->FsSession().MountFileSystem( KFSName, KMMCDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3218
            TRACES( RDebug::Print( _L("CSysApAppUi::MountMMC: RFs::MountFileSystem() returned: %d"), err ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3219
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3220
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3221
    return err;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3222
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3223
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3224
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3225
// CSysApAppUi::DismountMMC()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3226
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3227
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3228
TInt CSysApAppUi::DismountMMC()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3229
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3230
    TRACES( RDebug::Print( _L("CSysApAppUi::DismountMMC") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3231
#ifdef __WINS__ // Let's sleep a second in WINS
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3232
        User::After( 1000000 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3233
#endif
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3234
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3235
    TInt err ( KErrNotSupported );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3236
    if ( iSysApFeatureManager->MmcSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3237
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3238
        err = iEikonEnv->FsSession().DismountFileSystem( KFSName, KMMCDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3239
        TRACES( RDebug::Print( _L("CSysApAppUi::DismountMMC: RFs::DismountFileSystem() returned: %d"), err ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3240
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3241
    return err;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3242
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3243
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3244
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3245
// CSysApAppUi::EjectMMCL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3246
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3247
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3248
void CSysApAppUi::EjectMMCL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3249
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3250
    TRACES( RDebug::Print( _L("CSysApAppUi::EjectMMCL") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3251
    iMMCEjectUsed = ETrue;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3252
    iMMCPowerMenuEjectUsed = ETrue;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3253
    iTimeToKill = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3254
    iApplicationScanningRoundNumber = 0;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3255
    CloseUIAppsInHotSwapL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3256
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3257
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3258
#else // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3259
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3260
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3261
// CSysApAppUi::EjectMMCL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3262
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3263
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3264
void CSysApAppUi::EjectMMCL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3265
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3266
    // Called from eject confirm query, check drive inserted before start
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3267
    TInt insertedIndex( CSysApDriveList::Find(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3268
        iInsertedMemoryCards, iDriveToEject ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3269
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3270
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3271
        _L( "CSysApAppUi::EjectMMCL: iMMCEjectUsed: %d, drive: %d, index: %d "),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3272
        iMMCEjectUsed, iDriveToEject, insertedIndex ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3273
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3274
    if ( insertedIndex != KErrNotFound )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3275
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3276
        iSysApDriveList->MarkDriveToEject(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3277
            iDriveToEject, CSysApDriveList::EEjectFromMenu );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3278
        iSysApDriveEjectHandler->StartEject();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3279
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3280
    iMMCEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3281
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3282
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3283
#endif // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3284
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3285
#ifndef RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3286
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3287
// CSysApAppUi::RunUnlockNotifierL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3288
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3289
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3290
void CSysApAppUi::RunUnlockNotifierL( TSysApMemoryCardStatus aMemoryCardStatus )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3291
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3292
    TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL: START") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3293
    if ( iSysApFeatureManager->MmcSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3294
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3295
        if ( UiReady() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3296
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3297
            TSysApMemoryCardStatus memoryCardStatus;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3298
            if ( aMemoryCardStatus == ESysApMemoryCardStatusNotKnown )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3299
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3300
                memoryCardStatus = iSysApMMCObserver->MemoryCardStatus();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3301
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3302
            else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3303
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3304
                memoryCardStatus = aMemoryCardStatus;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3305
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3306
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3307
            TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL: memoryCardStatus=%d"), memoryCardStatus ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3308
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3309
            switch ( memoryCardStatus )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3310
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3311
                case ESysApMemoryCardInserted:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3312
                    TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL MMC inserted") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3313
                    if ( aMemoryCardStatus == ESysApMemoryCardInserted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3314
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3315
                        RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3316
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3317
                    break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3318
                case ESysApMemoryCardLocked:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3319
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3320
                    TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL MMC locked") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3321
                    RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3322
                    TInt callState = StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3323
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3324
                    if (  (! ( iDeviceLockEnabled || iKeyLockEnabled ) ) &&
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3325
                          callState != EPSCTsyCallStateRinging && // We don't want to see the MMC passwd query
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3326
                          callState != EPSCTsyCallStateAlerting ) // when the user is e.g. making an emergency call
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3327
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3328
                        if ( iSysApFeatureManager->MemoryCardLockSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3329
                            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3330
                            if ( ! iMemoryCardDialog )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3331
                                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3332
                                TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL: ACTIVATE MMC passwd query") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3333
                                CAknMemoryCardDialog* mmcDialog = CAknMemoryCardDialog::NewLC( this );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3334
                                iMemoryCardDialog = mmcDialog; // temporary variable used for hiding codescanner error 
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3335
                                iMemoryCardDialog->SetSelfPointer( &iMemoryCardDialog );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3336
                                iMemoryCardDialog->UnlockCardLD(); // when UnlockCardLD completes it calls UnlockComplete()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3337
                                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3338
                            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3339
                        else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3340
                            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3341
                            // Since locked cards are not supported, notify user that card is locked.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3342
                            ShowQueryL( ESysApMemoryCardLockedNote );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3343
                            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3344
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3345
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3346
                    break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3347
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3348
                case ESysApMemoryCardNotInserted:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3349
                default:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3350
                    TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL MMC not inserted") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3351
                    if ( aMemoryCardStatus == ESysApMemoryCardNotInserted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3352
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3353
                        RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3354
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3355
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3356
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3357
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3358
    TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL: END") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3359
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3360
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3361
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3362
// CSysApAppUi::UnlockComplete() from MAknMemoryCardDialogObserver
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3363
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3364
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3365
void CSysApAppUi::UnlockComplete( TInt aResult )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3366
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3367
    TRACES( RDebug::Print( _L("CSysApAppUi::UnlockComplete result: %d"), aResult ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3368
    if ( aResult == KErrNone )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3369
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3370
        RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3371
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3372
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3373
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3374
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3375
// CSysApAppUi::MMCStatusChangedL() from MSysApMemoryCardObserver
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3376
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3377
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3378
void CSysApAppUi::MMCStatusChangedL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3379
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3380
    TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL START: iMMCInserted: %d, iMMCEjectUsed: %d, iHideFirstBeep: %d, iHideNextBeep: %d" ), iMMCInserted, iMMCEjectUsed, iHideFirstBeep, iHideNextBeep ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3381
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3382
    if ( iSysApFeatureManager->MmcSupported() && !iShutdownStarted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3383
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3384
        TSysApMemoryCardStatus memoryCardStatus = iSysApMMCObserver->MemoryCardStatus();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3385
        TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL memoryCardStatus=%d" ), memoryCardStatus ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3386
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3387
        switch ( memoryCardStatus )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3388
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3389
            case ESysApMemoryCardInserted:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3390
            case ESysApMemoryCardLocked:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3391
                TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL: MMC drive mounted" ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3392
                if ( ! iMMCInserted ) // MMC was not inserted before
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3393
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3394
                    TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL: MMC newly inserted" ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3395
                    CancelWaitNote(); // just to be sure, the user might keep on closing and opening the MMC latch
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3396
                    // An MMC has been newly inserted, so play a sound and check if its password protected
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3397
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3398
                    if ( UiReady() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3399
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3400
                        if ( !iHideFirstBeep && !iHideNextBeep ) // starting up
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3401
                            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3402
                            Beep();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3403
                            // Switch lights on
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3404
                            iSysApLightsController->MemoryCardInsertedL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3405
                            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3406
                        iHideNextBeep = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3407
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3408
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3409
                    iMMCPowerMenuEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3410
                    iMMCEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3411
                    iMMCInserted = ETrue;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3412
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3413
                    // No need to show ESysApRemoveMmcNote after MMC already mounted
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3414
                    if ( iSysApConfirmationQuery )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3415
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3416
                        if ( iSysApConfirmationQuery->CurrentQuery() == ESysApRemoveMmcNote )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3417
                            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3418
                            iSysApConfirmationQuery->Cancel();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3419
                            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3420
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3421
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3422
                    // Check if the MMC is locked and unlock it if necessary
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3423
                    RunUnlockNotifierL( memoryCardStatus );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3424
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3425
                break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3426
            default:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3427
                TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL: MMC drive not mounted" ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3428
                delete iMemoryCardDialog; // sets itself to null
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3429
                RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3430
                if ( iMMCInserted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3431
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3432
                    // No need to show ESysApEjectMmcQuery after MMC already removed
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3433
                    if ( iSysApConfirmationQuery )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3434
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3435
                        if ( iSysApConfirmationQuery->CurrentQuery() == ESysApEjectMmcQuery )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3436
                            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3437
                            iSysApConfirmationQuery->Cancel();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3438
                            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3439
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3440
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3441
                    iMMCInserted = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3442
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3443
                    TInt propertyValue( StateOfProperty( KPSUidUsbWatcher, KUsbWatcherSelectedPersonality ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3444
                    if ( !iMMCEjectUsed && propertyValue != KUsbPersonalityIdMS )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3445
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3446
                        // if USB file transfer active, do not close applications
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3447
                        // if eject selected in MMC App, MMC App takes care of the following and
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3448
                        // if eject selected from powerkeymenu, applications have already been shutdown
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3449
                        iTimeToKill = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3450
                        iApplicationScanningRoundNumber = 0;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3451
                        CloseUIAppsInHotSwapL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3452
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3453
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3454
                else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3455
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3456
                    // If MMC was not previously inserted and eject was chosed from power key menu, attempt to remount.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3457
                    if ( iMMCPowerMenuEjectUsed )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3458
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3459
                        TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL: Attempt to remount" ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3460
                        MountMMC();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3461
                        // If mount was successful, unnecessary note will be canceled in insert notification handling.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3462
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3463
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3464
                break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3465
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3466
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3467
        // Update memory card indicator status
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3468
        SetMemoryCardIndicatorL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3469
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3470
    TRACES( RDebug::Print( _L( "CSysApAppUi::MMCStatusChangedL   END: iMMCInserted: %d, iMMCEjectUsed: %d, iHideFirstBeep: %d, iHideNextBeep: %d" ), iMMCInserted, iMMCEjectUsed, iHideFirstBeep, iHideNextBeep ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3471
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3472
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3473
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3474
// CSysApAppUi::ShowMMCDismountedDialogL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3475
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3476
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3477
void CSysApAppUi::ShowMMCDismountedDialogL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3478
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3479
    TInt propertyValue( StateOfProperty( KPSUidUsbWatcher, KUsbWatcherSelectedPersonality ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3480
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3481
    // Do not show any note if USB file transfer is active.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3482
    if ( propertyValue != KUsbPersonalityIdMS )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3483
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3484
        if ( iSysApFeatureManager->MemoryCardHatchSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3485
            { // MMC hatch has been opened and MMC has been dismounted
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3486
            TRACES( RDebug::Print( _L( "CSysApAppUi::ShowMMCDismountedDialogL: Show note: Remove MMC and press OK." ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3487
            ShowQueryL( ESysApRemoveMmcNote );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3488
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3489
        else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3490
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3491
            // MMC has been removed and dismounted
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3492
            TRACES( RDebug::Print( _L( "CSysApAppUi::ShowMMCDismountedDialogL: Show note: You might have lost some data." ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3493
            // No confirmation but let's set this true to enable MMC passwd query
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3494
            ShowUiNoteL( EMemoryCardRemovedWithoutEjectNote );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3495
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3496
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3497
    else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3498
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3499
        TRACES( RDebug::Print( _L( "CSysApAppUi::ShowMMCDismountedDialogL: No note shown, USB file transfer caused dismount." ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3500
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3501
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3502
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3503
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3504
// CSysApAppUi::MMCDismountedDialogConfirmed
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3505
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3506
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3507
void CSysApAppUi::MMCDismountedDialogConfirmed()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3508
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3509
    TRACES( RDebug::Print( _L( "CSysApAppUi::MMCDismountedDialogConfirmed") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3510
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3511
    // Try to remount just in case when eject was chosen from power key menu
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3512
    if ( iMMCPowerMenuEjectUsed )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3513
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3514
        iMMCPowerMenuEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3515
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3516
        if ( MountMMC() == KErrLocked ) // In case a locked card was not removed after all
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3517
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3518
            TRAPD( err, MMCStatusChangedL() ); // This will update power menu and memory card icon. Also memory card password is requeried.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3519
            if ( err != KErrNone )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3520
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3521
                TRACES( RDebug::Print( _L( "CSysApAppUi::MMCDismountedDialogConfirmed: MMCStatusChangedL failed, err=%d"), err ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3522
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3523
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3524
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3525
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3526
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3527
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3528
#else // RD_MULTIPLE_DRIVE
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3529
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3530
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3531
// CSysApAppUi::MMCInsertedL
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3532
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3533
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3534
void CSysApAppUi::MMCInsertedL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3535
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3536
    TRACES( RDebug::Print( _L( "CSysApAppUi::MMCInsertedL") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3537
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3538
    if ( iSysApFeatureManager->MmcSupported() && !iShutdownStarted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3539
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3540
        TBool normalState( UiReady() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3541
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3542
        if ( normalState )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3543
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3544
            TInt defaultMemoryCard( iSysApDriveList->DefaultMemoryCard() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3545
            TSysApMemoryCardStatus memoryCardStatus( iSysApDriveList->MemoryCardStatus( defaultMemoryCard ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3546
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3547
            TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3548
                _L( "CSysApAppUi::MMCInsertedL: drive: %d, memoryCardStatus: %d" ), defaultMemoryCard, memoryCardStatus ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3549
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3550
            switch ( memoryCardStatus )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3551
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3552
                case ESysApMemoryCardInserted: // Fall through
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3553
                case ESysApMemoryCardLocked:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3554
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3555
                    // Reset eject and unlock of inserted memory card
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3556
                    iSysApDriveList->ResetDriveToEject( defaultMemoryCard );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3557
                    iSysApDriveList->ResetDriveUnlockQueryShown( defaultMemoryCard );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3558
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3559
//                    CancelWaitNote();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3560
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3561
                    if ( memoryCardStatus == ESysApMemoryCardInserted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3562
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3563
                        TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3564
                            _L( "CSysApAppUi::MMCInsertedL: memoryCardStatus ESysApMemoryCardInserted: %d" ), memoryCardStatus ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3565
                        RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3566
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3567
                    else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3568
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3569
                        TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3570
                            _L( "CSysApAppUi::MMCInsertedL: memoryCardStatus ESysApMemoryCardLocked: %d" ), memoryCardStatus ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3571
                        RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3572
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3573
                    break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3574
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3575
                case ESysApMemoryCardNotInserted:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3576
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3577
                    // Always reset eject and unlock of removed memory card
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3578
                    TBool isEject( iSysApDriveList->IsDriveToEject( defaultMemoryCard ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3579
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3580
                    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3581
                        _L( "CSysApAppUi::MMCInsertedL: isEject: %d, drive: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3582
                        isEject, defaultMemoryCard ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3583
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3584
                    iSysApDriveList->ResetDriveToEject( defaultMemoryCard );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3585
                    iSysApDriveList->ResetDriveUnlockQueryShown( defaultMemoryCard );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3586
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3587
                    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3588
                        _L( "SysApAppUi::MMCInsertedL: memoryCardStatus ESysApMemoryCardNotInserted: %d" ), memoryCardStatus ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3589
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3590
                    RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3591
                    break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3592
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3593
                case ESysApMemoryCardStatusNotKnown: // Fall through
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3594
                default:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3595
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3596
                    break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3597
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3598
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3599
                RunUnlockNotifierL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3600
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3601
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3602
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3603
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3604
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3605
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3606
// CSysApAppUi::RunUnlockNotifierL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3607
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3608
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3609
void CSysApAppUi::RunUnlockNotifierL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3610
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3611
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3612
        _L("CSysApAppUi::RunUnlockNotifierL: START iDeviceLockEnabled: %d, iKeyLockEnabled: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3613
         iDeviceLockEnabled, iKeyLockEnabled ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3614
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3615
    if ( !iSysApFeatureManager->MmcSupported() ||
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3616
         iDeviceLockEnabled ||
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3617
         iKeyLockEnabled ||
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3618
         !UiReady() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3619
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3620
        TRACES( RDebug::Print( _L("CSysApAppUi::RunUnlockNotifierL: END") ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3621
        return;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3622
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3623
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3624
    // We don't want to see the MMC passwd query
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3625
    // when the user is e.g. making an emergency call
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3626
    TInt callState( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3627
    if ( callState != EPSCTsyCallStateRinging &&
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3628
        callState != EPSCTsyCallStateAlerting )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3629
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3630
        TInt defaultMemoryCard( iSysApDriveList->DefaultMemoryCard() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3631
        TSysApMemoryCardStatus memoryCardStatus( iSysApDriveList->MemoryCardStatus( defaultMemoryCard ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3632
        if ( memoryCardStatus == ESysApMemoryCardLocked)
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3633
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3634
            iSysApDriveUnlockHandler->StartUnlock();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3635
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3636
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3637
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3638
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3639
        _L("CSysApAppUi::RunUnlockNotifierL: END callState: %d"), callState ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3640
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3641
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3642
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3643
// CSysApAppUi::MMCStatusChangedL() from MSysApMemoryCardObserver
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3644
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3645
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3646
void CSysApAppUi::MMCStatusChangedL( TInt aDrive )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3647
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3648
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3649
        _L( "CSysApAppUi::MMCStatusChangedL START: MMCCount: %d, iMMCEjectUsed: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3650
        iInsertedMemoryCards.Count(), iMMCEjectUsed ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3651
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3652
    if ( iShutdownStarted || !iSysApFeatureManager->MmcSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3653
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3654
        TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3655
            _L( "CSysApAppUi::MMCStatusChangedL iShutdownStarted: %d END" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3656
            iShutdownStarted ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3657
        return;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3658
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3659
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3660
    TBool normalState( UiReady() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3661
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3662
    TInt defaultMemoryCard( iSysApDriveList->DefaultMemoryCard() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3663
    TSysApMemoryCardStatus memoryCardStatus( iSysApDriveList->MemoryCardStatus( aDrive ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3664
    TInt insertedIndex( CSysApDriveList::Find( iInsertedMemoryCards, aDrive ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3665
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3666
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3667
        _L( "CSysApAppUi::MMCStatusChangedL: normalState: %d, index: %d, drive: %d, memoryCardStatus: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3668
        normalState, insertedIndex, aDrive, memoryCardStatus ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3669
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3670
    switch ( memoryCardStatus )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3671
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3672
        case ESysApMemoryCardInserted: // Fall through
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3673
        case ESysApMemoryCardLocked:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3674
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3675
            if ( insertedIndex == KErrNotFound ) // Not inserted before
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3676
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3677
                // Reset eject and unlock of inserted memory card
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3678
                iSysApDriveList->ResetDriveToEject( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3679
                iSysApDriveList->ResetDriveUnlockQueryShown( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3680
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3681
//                CancelWaitNote();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3682
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3683
                if ( aDrive == defaultMemoryCard )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3684
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3685
                    if ( memoryCardStatus == ESysApMemoryCardInserted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3686
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3687
                         RProperty::Set( KPSUidUikon, KUikMMCInserted, 1 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3688
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3689
                    else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3690
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3691
                        RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3692
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3693
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3694
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3695
                if ( normalState )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3696
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3697
                    // Ignore extra beep from USB file transfer
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3698
                    TBool ignoreBeep(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3699
                        iSysApDriveList->IsDriveInsertBeepIgnored( aDrive ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3700
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3701
                    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3702
                        _L( "CSysApAppUi::MMCStatusChangedL: ignoreBeep: %d, drive: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3703
                        ignoreBeep, aDrive ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3704
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3705
                    if ( !ignoreBeep )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3706
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3707
//                        Beep();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3708
                        iSysApLightsController->MemoryCardInsertedL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3709
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3710
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3711
                    iSysApDriveList->ResetDriveInsertBeepIgnored( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3712
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3713
                    // Keep ignoring extra beep if USB file transfer is active
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3714
                    TInt propertyValue( StateOfProperty( KPSUidUsbWatcher, KUsbWatcherSelectedPersonality ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3715
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3716
                    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3717
                        _L( "CSysApAppUi::MMCStatusChangedL: usbState: %d" ), propertyValue ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3718
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3719
                    if ( propertyValue == KUsbPersonalityIdMS )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3720
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3721
                        iSysApDriveList->MarkDriveInsertBeepIgnored( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3722
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3723
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3724
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3725
//                if ( iDriveToDismount == aDrive && iSysApConfirmationQuery )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3726
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3727
//                    if ( iSysApConfirmationQuery->CurrentQuery() == ESysApRemoveMmcNote )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3728
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3729
                        // User put back ejected memory card or did not remove it
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3730
//                        iSysApConfirmationQuery->Cancel();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3731
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3732
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3733
                RunUnlockNotifierL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3734
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3735
            break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3736
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3737
        case ESysApMemoryCardNotInserted:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3738
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3739
            // Always reset eject and unlock of removed memory card
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3740
            TBool isEject( iSysApDriveList->IsDriveToEject( aDrive ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3741
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3742
            TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3743
                _L( "CSysApAppUi::MMCStatusChangedL: isEject: %d, drive: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3744
                isEject, aDrive ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3745
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3746
            iSysApDriveList->ResetDriveToEject( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3747
            iSysApDriveList->ResetDriveUnlockQueryShown( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3748
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3749
            if ( insertedIndex != KErrNotFound ) // Inserted before
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3750
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3751
                if ( memoryCardStatus == ESysApMemoryCardNotInserted )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3752
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3753
                    // Reset extra beep ignore if memory card was removed without eject
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3754
                    iSysApDriveList->ResetDriveInsertBeepIgnored( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3755
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3756
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3757
//                CancelGlobalListQuery(); // Cancel power menu
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3758
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3759
                if ( aDrive == defaultMemoryCard )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3760
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3761
                    RProperty::Set( KPSUidUikon, KUikMMCInserted, 0 );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3762
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3763
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3764
//                if ( iSysApConfirmationQuery )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3765
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3766
//                    if ( iSysApConfirmationQuery->CurrentQuery() == ESysApEjectMmcQuery )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3767
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3768
                        // User removed memory card too early
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3769
//                        iSysApConfirmationQuery->Cancel();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3770
                        // Allow application closing to execute.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3771
                        // Also FileManager is closed in this case, regardless where the eject was initiated from.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3772
                        iMMCEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3773
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3774
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3775
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3776
                // Stop unlock of removed memory card
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3777
                iSysApDriveUnlockHandler->StopUnlock( aDrive );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3778
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3779
                if ( !iMMCEjectUsed && !isEject )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3780
                    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3781
                    TInt propertyValue( StateOfProperty( KPSUidUsbWatcher, KUsbWatcherSelectedPersonality ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3782
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3783
                    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3784
                        _L( "CSysApAppUi::MMCStatusChangedL: usbState: %d" ), propertyValue ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3785
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3786
                    if ( propertyValue != KUsbPersonalityIdMS )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3787
                        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3788
                        if ( iSysApFeatureManager->MemoryCardHatchSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3789
                            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3790
                            // Store drive removed without eject and start eject handling
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3791
                            iSysApDriveList->MarkDriveToEject(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3792
                                aDrive, CSysApDriveList::EEjectRemovedWithoutEject );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3793
                            iSysApDriveEjectHandler->StartEject();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3794
                            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3795
                        else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3796
                            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3797
                            // Just show the note
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3798
                            ShowUiNoteL( EMemoryCardRemovedWithoutEjectNote );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3799
                            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3800
                        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3801
                    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3802
                iMMCEjectUsed = EFalse;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3803
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3804
            break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3805
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3806
        case ESysApMemoryCardStatusNotKnown: // Fall through
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3807
        default:
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3808
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3809
            break;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3810
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3811
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3812
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3813
    // Update inserted memory cards
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3814
    iSysApDriveList->GetMemoryCardsL(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3815
        iInsertedMemoryCards, CSysApDriveList::EIncludeInserted );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3816
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3817
    // Update memory card indicator status
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3818
//    SetMemoryCardIndicatorL();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3819
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3820
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3821
        _L( "CSysApAppUi::MMCStatusChangedL END: MMCCount: %d, iMMCEjectUsed: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3822
        iInsertedMemoryCards.Count(), iMMCEjectUsed ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3823
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3824
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3825
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3826
// CSysApAppUi::ShowMMCDismountedDialogL()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3827
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3828
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3829
TBool CSysApAppUi::ShowMMCDismountedDialogL(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3830
        TInt aDrive, CSysApDriveList::TDriveEjectType aEjectType )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3831
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3832
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3833
        _L( "CSysApAppUi::ShowMMCDismountedDialogL: aDrive: %d, aEjectType: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3834
        aDrive, aEjectType ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3835
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3836
    TBool ret( EFalse );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3837
    iDriveToDismount = aDrive;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3838
    HBufC* driveName = iSysApDriveList->GetFormattedDriveNameLC(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3839
        aDrive,
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3840
        R_QTN_EJECT_REMOVE_MEMORY_INFO );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3841
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3842
    if ( aEjectType == CSysApDriveList::EEjectFromMenu )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3843
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3844
        TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3845
            _L( "CSysApAppUi::ShowMMCDismountedDialogL: Show note: Remove MMC and press OK...." ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3846
        ShowQueryL( ESysApRemoveMmcNote, *driveName );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3847
        ret = ETrue;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3848
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3849
    else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3850
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3851
        // Memory card was removed without eject
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3852
        TInt propertyValue( StateOfProperty( KPSUidUsbWatcher, KUsbWatcherSelectedPersonality ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3853
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3854
        // Do not show any note if USB file transfer is active.
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3855
        if ( propertyValue != KUsbPersonalityIdMS )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3856
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3857
            if ( iSysApFeatureManager->MemoryCardHatchSupported() )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3858
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3859
                // MMC hatch has been opened and MMC has been dismounted
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3860
                TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3861
                    _L( "CSysApAppUi::ShowMMCDismountedDialogL: Show note: Remove MMC and press OK." ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3862
                ShowQueryL( ESysApRemoveMmcNote, *driveName );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3863
                ret = ETrue;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3864
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3865
            else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3866
                {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3867
                iSysApDriveList->ResetDrivesToEject();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3868
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3869
                // MMC has been removed and dismounted
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3870
                TRACES( RDebug::Print( _L(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3871
                    "CSysApAppUi::ShowMMCDismountedDialogL: Show note: You might have lost some data." ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3872
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3873
                // No confirmation but let's set this true to enable MMC passwd query
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3874
                ShowUiNoteL( EMemoryCardRemovedWithoutEjectNote );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3875
                }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3876
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3877
        else
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3878
            {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3879
            iSysApDriveList->ResetDrivesToEject();
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3880
            TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3881
                _L( "CSysApAppUi::ShowMMCDismountedDialogL: No note shown, USB file transfer caused dismount." ) ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3882
            }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3883
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3884
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3885
    CleanupStack::PopAndDestroy( driveName );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3886
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3887
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3888
        _L( "CSysApAppUi::ShowMMCDismountedDialogL: ret: %d" ), ret ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3889
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3890
    return ret;
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3891
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3892
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3893
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3894
// CSysApAppUi::MMCDismountedDialogConfirmed
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3895
// ----------------------------------------------------------------------------
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3896
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3897
void CSysApAppUi::MMCDismountedDialogConfirmed()
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3898
    {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3899
    TRACES( RDebug::Print(
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3900
        _L( "CSysApAppUi::MMCDismountedDialogConfirmed: iDriveToDismount: %d" ),
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3901
        iDriveToDismount ) );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3902
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3903
    // Try remount to check if drive was put back
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3904
    iSysApDriveList->MountDrive( iDriveToDismount );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3905
    if ( !iSysApDriveEjectHandler->CompleteDismount( iDriveToDismount ) )
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3906
        {
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3907
        // When ready, check for locked memory cards and update indicators
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3908
 //       TRAP_IGNORE( SetMemoryCardIndicatorL() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3909
        TRAP_IGNORE( RunUnlockNotifierL() );
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3910
        }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3911
    }
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3912
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3913
#endif // RD_MULTIPLE_DRIVE
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3914
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3915
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3916
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3917
// CSysApAppUi::HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent)
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3918
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3919
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3920
void CSysApAppUi::HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent)
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3921
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3922
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleApplicationSpecificEventL: aType:%d"), aType ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3923
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3924
    CEikAppUi::HandleApplicationSpecificEventL(aType, aEvent);
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3925
    
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3926
    if ( ResourcesFreed() )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3927
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3928
        TRACES( RDebug::Print( _L("CSysApAppUi::HandleApplicationSpecificEventL: discarded, shutting down") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3929
        return;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3930
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3931
    
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3932
    switch( aType )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3933
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3934
        case EEikKeyLockEnabled:
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3935
            iKeyLockEnabled = ETrue;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3936
            iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 1 );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3937
//            SetIndicatorStateL( EAknIndicatorKeyguard, EAknIndicatorStateOn );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3938
            iSysApLightsController->KeylockStateChangedL( ETrue );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3939
            break;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3940
        case EEikKeyLockDisabled:
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3941
            iKeyLockEnabled = EFalse;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3942
            iSysApCenRepController->SetInt( KCRUidCoreApplicationUIsSysAp, KSysApKeyguardActive, 0 );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3943
//            SetIndicatorStateL( EAknIndicatorKeyguard, EAknIndicatorStateOff );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3944
            if (! iDeviceLockEnabled )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3945
                {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3946
                iSysApLightsController->KeylockStateChangedL( EFalse );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3947
                if ( iSysApFeatureManager->MmcHotSwapSupported() )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3948
                    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3949
                    if ( StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateRinging && StateOfProperty( KPSUidCtsyCallInformation, KCTsyCallState ) !=  EPSCTsyCallStateAlerting )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3950
                        {
61
224b21efc2d4 201033_02
hgs
parents: 54
diff changeset
  3951
                        RunUnlockNotifierL();
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3952
                        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3953
                    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3954
                }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3955
            break;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3956
        case EEikKeyLockPowerKeyPressed: //sent when power key is captured by keylockserver
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3957
//            HandleShortPowerKeyPressedL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3958
            break;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3959
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3960
        case EEikKeyLockLightsOnRequest:
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3961
            iSysApLightsController->SetLightsOnUnlockNoteL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3962
            break;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3963
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3964
        case EEikEcsQueryLights: // emergency note is shown
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3965
            iSysApLightsController->SetLightsOnEcsQueryL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3966
            break;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3967
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3968
        case EEikSecurityQueryLights: // for device lock security query
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3969
            iSysApLightsController->SetLightsOnSecurityQueryL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3970
            break;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3971
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3972
        default:
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3973
            break;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3974
            }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3975
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3976
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3977
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3978
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3979
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3980
// CSysApAppUi::HandleNspsRawKeyEventL()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3981
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3982
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3983
void CSysApAppUi::HandleNspsRawKeyEventL()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3984
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3985
#ifdef __SYSAP_MODULE_TEST
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3986
    ModuleTestShowUiNoteL( _L("Network wakeup from NSPS") );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3987
#endif
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3988
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3989
    if ( iSysApEtelConnector )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3990
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3991
        iSysApEtelConnector->CommandNetCsWakeupOnNsps();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3992
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3993
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3994
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3995
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3996
// CSysApAppUi::UpdateSignalBarsL()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3997
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3998
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  3999
void CSysApAppUi::UpdateSignalBarsL()
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4000
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4001
//    UpdateSignalBarsL(iSysApEtelConnector->GetSignalBars());
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4002
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4003
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4004
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4005
// CSysApAppUi::HandleSmsStorageNotificationL( TBool aSimStoreFull )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4006
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4007
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4008
void CSysApAppUi::HandleSmsStorageNotificationL( TBool aSimStoreFull )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4009
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4010
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleSmsStorageNotificationL: aSimStoreFull: %d "), aSimStoreFull ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4011
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4012
    if ( aSimStoreFull )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4013
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4014
/*        HBufC* noteStringBuf;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4015
        noteStringBuf = StringLoader::LoadLC( R_QTN_MEMLO_MEMORY_LOW_SIM_MES, iEikonEnv );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4016
        TPtr textBuffer = noteStringBuf->Des();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4017
        iSysApMsgSimMemLowQuery->StartL( textBuffer );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4018
        CleanupStack::PopAndDestroy();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4019
*/        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4020
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4021
//    SetEnvelopeIndicatorL();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4022
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4023
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4024
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4025
// CSysApAppUi::HandleNetworkNspsNotification( RMmCustomAPI::TNspsStatus aNspsStatus )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4026
// ----------------------------------------------------------------------------
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4027
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4028
void CSysApAppUi::HandleNetworkNspsNotification( RMmCustomAPI::TNspsStatus aNspsStatus )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4029
    {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4030
    TRACES( RDebug::Print( _L("CSysApAppUi::HandleNetworkNspsNotification aNspsStatus:%d, iNsps:%d )" ), aNspsStatus, iNsps ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4031
    if( iSysApNspsHandler )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4032
        {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4033
        if( aNspsStatus == RMmCustomAPI::ENspsOn )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4034
            {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4035
            if( !iNsps )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4036
                {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4037
#ifdef __SYSAP_MODULE_TEST
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4038
                TRAPD( err, ModuleTestShowUiNoteL( _L("Setting NSPS on") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4039
#endif
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4040
                iSysApNspsHandler->SetNspsOn();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4041
                iNsps = ETrue;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4042
                }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4043
            }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4044
        else if( aNspsStatus == RMmCustomAPI::ENspsOff )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4045
            {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4046
            if( iNsps )
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4047
                {
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4048
#ifdef __SYSAP_MODULE_TEST
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4049
                TRAPD( err, ModuleTestShowUiNoteL( _L("Setting NSPS off") ) );
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4050
#endif
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4051
                iSysApNspsHandler->SetNspsOff();
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4052
                iNsps = EFalse;
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4053
                }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4054
            }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4055
        }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4056
    }
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4057
74
1505405bc645 201037_04
hgs
parents: 72
diff changeset
  4058
51
50b444048a8d 201027_02
hgs
parents: 46
diff changeset
  4059
46
eea20ed08f4b 201025_02
hgs
parents: 29
diff changeset
  4060
//end of file