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