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