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