1 /* |
1 /* |
2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
8 * |
8 * |
9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: CSysApAppUi class definition. This class handles all user |
14 * Description: |
15 * actions and also System Agent events. |
15 * |
16 * |
16 */ |
17 */ |
|
18 |
|
19 |
17 |
20 #ifndef SYSAPAPPUI_H |
18 #ifndef SYSAPAPPUI_H |
21 #define SYSAPAPPUI_H |
19 #define SYSAPAPPUI_H |
22 |
20 //#include <QObject> |
23 // INCLUDES |
21 //#include <aknappui.h> |
|
22 //#include <hbmessagebox.h> |
24 #include <aknappui.h> |
23 #include <aknappui.h> |
25 #include <aknkeylock.h> |
24 #include "SysAp.hrh" |
26 #ifndef RD_MULTIPLE_DRIVE |
25 #include <f32file.h> |
27 #include <aknmemorycarddialog.h> |
26 #include <W32STD.H> |
28 #endif // RD_MULTIPLE_DRIVE |
27 #include <coedef.h> |
|
28 #include <e32property.h> |
|
29 #include <sysapcallback.h> |
29 #include <starterclient.h> |
30 #include <starterclient.h> |
30 #include <starter.hrh> |
|
31 #include <babackup.h> |
|
32 #include <rmmcustomapi.h> |
|
33 |
|
34 #include <DosSvrServices.h> |
|
35 #include "SysAp.hrh" |
|
36 #include "SysApMMCObserver.h" |
|
37 #include "MSysApPropertyResponder.h" |
|
38 #include "SysApTimer.h" |
31 #include "SysApTimer.h" |
39 #include <e32property.h> |
32 #include "SysApLightsController.h" |
40 #include "coreapplicationuisprivatecrkeys.h" |
33 #include "coreapplicationuisprivatecrkeys.h" |
41 #include <sysapcallback.h> |
34 #include "sysapusbchargerdetector.h" |
42 |
|
43 #include "SysApAccessoryObserver.h" |
35 #include "SysApAccessoryObserver.h" |
44 #ifdef RD_MULTIPLE_DRIVE |
36 #include <hbsymbianvariant.h> |
45 #include "sysapdrivelist.h" |
37 //For Powermenu--CHbDevicePowerMenuSymbian |
46 #endif // RD_MULTIPLE_DRIVE |
38 #include "hbdevicepowermenusymbian.h" |
47 |
39 |
48 #include "sysapusbchargerdetector.h" |
|
49 #include "sysappsmcontroller.h" |
40 #include "sysappsmcontroller.h" |
50 |
|
51 // FORWARD DECLARATIONS |
|
52 class CAknSmallIndicator; |
|
53 class CAknSignalNotify; |
|
54 class CAknBatteryNotify; |
|
55 class CAknGlobalListQuery; |
|
56 class CAknGlobalNote; |
|
57 class CSystemLock; |
|
58 class CSysApLightsController; |
|
59 class CSysApPubSubObserver; |
|
60 class CSysApProfileObserver; |
|
61 class CSysApConnectionMonitorObserver; |
|
62 class CSysApCenRepLightSettingsObserver; |
|
63 class CSysApCenRepLogsObserver; |
|
64 class CSysApCenRepBtObserver; |
|
65 //class CSysApCenRepFmTxObserver; |
|
66 class CSysApCenRepController; |
|
67 class CSysApStartupController; |
|
68 class CSysApPowerKeyMenuObserver; |
|
69 class CSysApWaitNote; |
|
70 class CSysApSsSettingsObserver; |
|
71 class CSysApShutdownImage; |
|
72 class CSysApShutdownAnimation; |
|
73 class CSysApEtelConnector; |
|
74 class CSysApMsgSimMemLowQuery; |
|
75 class CSysApNspsHandler; |
|
76 class CSysApConfirmationQuery; |
|
77 class CSysApFeatureManager; |
|
78 class MSysApOfflineModeController; |
|
79 class MSysApBtController; |
|
80 class MSysApBtSapController; |
|
81 class MSysApUsbIndicator; |
|
82 class MSysApLocationPrivacyIndicator; |
|
83 class MProfileEngine; |
|
84 class MProfilesNamesArray; |
|
85 class CSysApKeySndHandler; |
|
86 class CSysApKeyManagement; // KEF |
|
87 class CSysApMediatorObserver; |
|
88 class CAknAppUiBase; |
|
89 class CSysApCenRepHacSettingObserver; |
|
90 class CSysApAudioRoutingObserver; |
|
91 class CSysApCenRepCallForwardingObserver; |
|
92 class CSysApCenRepMsgWaitingObserver; |
|
93 |
|
94 // POC launching |
|
95 class CAiwServiceHandler; |
|
96 |
|
97 class CSysApDefaultKeyHandler; |
|
98 class CSysApDriveUnlockHandler; |
|
99 class CSysApDriveEjectHandler; |
|
100 |
|
101 class CSysApBatteryInfoController; |
|
102 |
|
103 //CONSTANTS |
|
104 const TInt KDummyReason( -1 ); |
|
105 const TInt KBluetoothModulePowerModeOn ( 1 ); |
|
106 const TInt KBluetoothModulePowerModeOff ( 0 ); |
|
107 const TInt KGeneralProfileId ( 0 ); |
|
108 const TInt KOfflineModeProfileId ( 5 ); |
|
109 const TInt KApplicationScanningInterval( 1 ); // 1 second |
|
110 _LIT( KFSName, "Fat" ); // MMC file system name |
|
111 const TDriveNumber KMMCDrive = EDriveE; // MMC drive number |
|
112 |
|
113 |
|
114 |
41 |
115 //CLASS DECLARATION |
42 //CLASS DECLARATION |
116 /** |
43 /** |
117 * CSysApAppUi class. This class serves as a link between the other |
44 * CSysApAppUi class. This class serves as a link between the other |
118 * SysAp classes and performs the most UI specific operations on SysAp's |
45 * SysAp classes and performs the most UI specific operations on SysAp's |
119 * responsibility. |
46 * responsibility. |
120 * |
47 * |
121 * @lib sysap |
48 * @lib sysap |
122 * @since 1.0 |
49 * @since 1.0 |
123 */ |
50 */ |
124 |
51 #include <eikappui.h> |
125 class CSysApAppUi : |
52 |
126 public CAknAppUi, |
53 |
127 #ifndef RD_MULTIPLE_DRIVE |
54 //class CAknAppUiBase; |
128 public MAknMemoryCardDialogObserver, |
55 //class CSysApKeySndHandler; |
129 #endif // RD_MULTIPLE_DRIVE |
56 //class CSysApWsClient; |
130 public MSysApMemoryCardObserver, |
57 class CSysApFeatureManager; |
|
58 class CSysApNspsHandler; |
|
59 class CSysApPubSubObserver; |
|
60 class CSysApStartupController; |
|
61 class CSysApDefaultKeyHandler; |
|
62 class CSysApKeyManagement; |
|
63 class MSysApOfflineModeController; |
|
64 class CHbDevicePowerMenuSymbian; |
|
65 class CSysApShutdownImage; |
|
66 class CSysApKeySndHandler; |
|
67 class CSysApCenRepController; |
|
68 class CSysApCenRepLightSettingsObserver; |
|
69 class CSysApCenRepBtObserver; |
|
70 class CSysApCenRepHacSettingObserver; |
|
71 class CSysApAudioRoutingObserver; |
|
72 class CSysApSsSettingsObserver; |
|
73 class CSystemLock; |
|
74 class CSysApCenRepCallForwardingObserver; |
|
75 class CSysApBatteryInfoController; |
|
76 class MSysApBtSapController; |
|
77 class MSysApBtController; |
|
78 class CSysApCenRepLogsObserver; |
|
79 class MSysApUsbIndicator; |
|
80 class CKeyguardAccessApi; |
|
81 |
|
82 |
|
83 const TInt KBluetoothModulePowerModeOn ( 1 ); |
|
84 const TInt KDummyReason( -1 ); |
|
85 |
|
86 //class HbMessageBox; |
|
87 |
|
88 class CSysApAppUi : public CAknAppUi, |
131 public MSysApTimerResponder, |
89 public MSysApTimerResponder, |
132 public MSysapCallback, |
90 public MSysapCallback, |
133 public MSysApPsmControllerNotifyCallback |
91 public MSysApPsmControllerNotifyCallback |
134 { |
92 { |
135 public: |
93 public: |
136 /** |
94 /** |
137 * C++ default constructor. |
95 * C++ default constructor. |
138 * @param None |
96 * @param None |
139 * @return void |
97 * @return void |
140 */ |
98 */ |
144 * Destructor |
102 * Destructor |
145 * @param None |
103 * @param None |
146 * @return void |
104 * @return void |
147 */ |
105 */ |
148 virtual ~CSysApAppUi(); |
106 virtual ~CSysApAppUi(); |
149 |
107 |
|
108 // from CCoeAppUiBase |
|
109 void PrepareToExit(); |
|
110 |
150 protected: // From MSysApTimerResponder |
111 protected: // From MSysApTimerResponder |
151 |
112 |
152 /** |
113 /** |
153 * Handle events from CSysApTimer |
114 * Handle events from CSysApTimer |
154 * @param None |
115 * @param None |
155 * @return void |
116 * @return void |
156 */ |
117 */ |
157 void TimerExpiredL(); |
118 void TimerExpiredL(); |
158 |
119 |
159 public: |
|
160 |
|
161 /** |
|
162 * Gets called when shutdown continues after shutdown animation |
|
163 * @param None |
|
164 * @return void |
|
165 */ |
|
166 void ContinueShutdown(); |
|
167 |
|
168 /** |
|
169 * Gets called when there is need to shutdown the device initiated by Symbian side |
|
170 * @param None |
|
171 * @return void |
|
172 */ |
|
173 void DoShutdownL( const TBool aReset, const TInt aResetReason ); |
|
174 |
|
175 /** |
|
176 * Gets called by CSysApSharedDataObserver if user has selected "No" in |
|
177 * "Do you want to use the phone in Off-line mode?" query in startup. |
|
178 * @param aDoProfileChange if ETrue, the last active profile is restored |
|
179 * @return void |
|
180 */ |
|
181 void GoOnlineL( TBool aDoProfileChange = ETrue ); |
|
182 |
|
183 /** |
|
184 * Gets called by CSysApSharedDataObserver in Simless Offline Mode startup. |
|
185 * @param None |
|
186 * @return void |
|
187 */ |
|
188 void GoOfflineL(); |
|
189 |
|
190 /** |
|
191 * Calls CSysApOfflineModeController::SwitchFromOnlineToOfflineModeL() |
|
192 * @param None |
|
193 * @return void |
|
194 */ |
|
195 void SwitchFromOnlineToOfflineModeL(); |
|
196 |
|
197 /** |
|
198 * Called when offline mode change has been finished. |
|
199 */ |
|
200 void OfflineModeChangedL(); |
|
201 |
|
202 /** |
|
203 * Gets called after changing the SW state. |
|
204 * @param aSwState The new state |
|
205 * @return void |
|
206 */ |
|
207 void DoStateChangedL( const RStarterSession::TGlobalState aSwState ); |
|
208 |
|
209 #ifdef SYSAP_USE_STARTUP_UI_PHASE |
|
210 /** |
|
211 * Called when UI is ready after boot. |
|
212 */ |
|
213 void HandleUiReadyAfterBootL(); |
|
214 |
|
215 #endif // SYSAP_USE_STARTUP_UI_PHASE |
|
216 |
|
217 /** |
|
218 * Returns whether UI is ready after boot. |
|
219 */ |
|
220 TBool UiReady() const; |
|
221 |
|
222 /** |
|
223 * Gets called when any case selection on powerkey menu is done. |
|
224 * Does what is needed per selection. |
|
225 * @param TInt aSelection |
|
226 * @return void |
|
227 */ |
|
228 void PowerKeyPopUpMenuSelectionDoneL( TInt aSelection ); |
|
229 |
|
230 /** |
|
231 * Gets called when Alarm is being shown to user and lights need to be blinked. |
|
232 * @param TBool aAlerting |
|
233 * @return void |
|
234 */ |
|
235 void AlertUiAlertingL( const TBool aAlerting ); |
|
236 |
|
237 /** |
|
238 * Gets called when Alarm is being shown to user and keylock need to be turned off. |
|
239 * @param TBool aKeyLockOff |
|
240 * @return void |
|
241 */ |
|
242 void AlertUiKeyLockOff( const TBool aKeyLockOff ); |
|
243 |
|
244 /** |
|
245 * Notifies changes in KPSUidCoreApplicationUIs::KLightControl to light controller. |
|
246 */ |
|
247 void HandleLightsRequireL() const; |
|
248 |
|
249 /** |
|
250 * Notifies changes in KPSUidCoreApplicationUIs::KCoreAppUIsLightsRawKeyEvent to light controller. |
|
251 * |
|
252 * @since S60 3.2 |
|
253 */ |
|
254 void HandleRawKeyEventLightsRequireL() const; |
|
255 |
|
256 /** |
|
257 * Gets called when Video Telephony requests to force/cancel lights on/ |
|
258 * @param const TInt aLightsParameter |
|
259 * @return void |
|
260 */ |
|
261 void HandleForcedLightsVTRequireL( const TInt aLightsParameter ) const; |
|
262 |
|
263 /** |
|
264 * Gets called when Screen Saver requests to force lights on/off |
|
265 * @param const TInt aLightsParameter |
|
266 * @return void |
|
267 */ |
|
268 void HandleForcedLightsSSRequireL( const TInt aLightsParameter ) const; |
|
269 |
|
270 /** |
|
271 * Gets called when AT Command requests to force lights on/off |
|
272 * @param const TInt aLightsParameter |
|
273 * @return void |
|
274 */ |
|
275 void HandleForcedLightsATCRequireL( const TInt aLightsParameter ) const; |
|
276 /** |
|
277 * Calls SysApLightsController::SwitchLightsOnSoftRejectL |
|
278 * |
|
279 * @since S60 3.1 |
|
280 * @param None. |
|
281 * @return None. |
|
282 */ |
|
283 void SwitchLightsOnSoftRejectL(); |
|
284 |
|
285 /** |
|
286 * Asks state of one property from PubSub |
|
287 * @param const TUid& |
|
288 * @param const TUint |
|
289 * @return const TInt ( value of property or error code ) |
|
290 */ |
|
291 TInt StateOfProperty( const TUid& aCategory, const TUint aKey ) const; |
|
292 |
|
293 /** |
|
294 * Sets the indicator's aIndicator state to state aState. |
|
295 * @param TInt aIndicator |
|
296 * @param TInt aState |
|
297 * @return void |
|
298 */ |
|
299 void SetIndicatorStateL( const TInt aIndicator, const TInt aState ) const; |
|
300 |
|
301 /** |
|
302 * Returns the state of keylock |
|
303 * @param none |
|
304 * @return TBool the state of keylock |
|
305 */ |
|
306 TBool KeyLockState() const; |
|
307 |
|
308 /** |
|
309 * Returns the state of devicelock |
|
310 * @param none |
|
311 * @return TBool the state of devicelock |
|
312 */ |
|
313 TBool DeviceLockState() const; |
|
314 |
|
315 /* |
|
316 * @param None |
|
317 * @return void |
|
318 */ |
|
319 void SetIhfIndicatorL(); |
|
320 |
|
321 /* |
|
322 * Handles actions needed when either SIM memory gets too full to receive any more SMS's. |
|
323 * @param aSimStoreFull If true, SIM memory is full. |
|
324 * @return void |
|
325 */ |
|
326 void HandleSmsStorageNotificationL( TBool aSimStoreFull ); |
|
327 |
|
328 void HandleNspsRawKeyEventL(); |
|
329 |
|
330 void HandleNetworkNspsNotification( RMmCustomAPI::TNspsStatus aNspsStatus ); |
|
331 |
|
332 void HandleMessageTonePlayingQuitability( TInt aTonePlayingStatus ); |
|
333 |
|
334 /* |
|
335 * Called by SysApLightsController when the lights are switced on/off |
|
336 * @param aActivate If ETrue forwarding is activated, otherwise deactivated |
|
337 * @return void |
|
338 */ |
|
339 void ActivateKeyeventForwardingForLights(TBool aActivate); |
|
340 |
|
341 /** |
|
342 * Gets called when shutdown requested when sw state == ESWStateAlarm |
|
343 * context active. |
|
344 * @param None |
|
345 * @return void |
|
346 */ |
|
347 void StartShutDownTimerOnAlarmAndChargingStates(); |
|
348 static TInt DoShutdownOnAlarmStateAfterCallBack( TAny* aObject ); |
|
349 |
|
350 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
351 /** |
|
352 * Starts shutdown animation timing after shutdown tone sync is done |
|
353 */ |
|
354 void StartAnimTiming(); |
|
355 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
356 |
|
357 /** |
|
358 * Stops shutdown animation timing and continues shutdown. |
|
359 */ |
|
360 static TInt DoStopAnimTiming( TAny* aObject ); |
|
361 |
|
362 /** |
|
363 * Gets called when GPRS is suspended because of a phone call established while |
|
364 * context active. Delay (KDelayBeforeShowingGprsSuspendedNote) required to ensure |
|
365 * that the phone call was really established. |
|
366 * @param None |
|
367 * @return void |
|
368 */ |
|
369 void StartGprsSuspendedTimer(); |
|
370 static TInt ShowGprsSuspendedNoteAfterCallBack( TAny* aObject ); |
|
371 |
|
372 /** |
|
373 * Gets called when an accessory was connected to device. The indicator |
|
374 * is shown and profile gets changed if needed. |
|
375 * @param aAccessoryState Indicates the new accessory state |
|
376 * @return void |
|
377 */ |
|
378 void HandleAccessoryConnectedL( TAccMode aAccessoryState ); |
|
379 |
|
380 /** |
|
381 * Gets called when headset/loopset was disconnected from device. The indicator |
|
382 * is hidden and the original profile gets restored if needed. |
|
383 * @param None |
|
384 * @return void |
|
385 */ |
|
386 void HandleAccessoryDisconnectedL(); |
|
387 |
|
388 /** |
|
389 * Gets called when SysAp receives KSysApSatRefreshStart. All |
|
390 * non-system UI applications are closed |
|
391 * and an information note is shown to the user. |
|
392 * @param None |
|
393 * @return void |
|
394 */ |
|
395 void HandleSatRefreshL(); |
|
396 |
|
397 #ifndef RD_MULTIPLE_DRIVE |
|
398 /** |
|
399 * Mounts MMC drive |
|
400 * @param None |
|
401 * @return TInt : error value from RFs::MountFileSystem() |
|
402 */ |
|
403 TInt MountMMC(); |
|
404 |
|
405 /** |
|
406 * Dismounts MMC drive |
|
407 * @param None |
|
408 * @return TInt : error value from RFs::MountFileSystem() |
|
409 */ |
|
410 TInt DismountMMC(); |
|
411 #endif // RD_MULTIPLE_DRIVE |
|
412 |
|
413 /** |
|
414 * MMC Hot Swap Ejection from powerkey menu |
|
415 * @param None |
|
416 * @return void |
|
417 */ |
|
418 void EjectMMCL(); |
|
419 |
|
420 /** |
|
421 * Disconnect BtSap from powerkey meny |
|
422 * @param None |
|
423 * @return void |
|
424 */ |
|
425 void DisconnectBtSap(); |
|
426 |
|
427 /** |
|
428 * Enable or disable FM transmission |
|
429 */ |
|
430 // void ChangeFmTxStateL( TBool aEnable ); |
|
431 |
|
432 #ifndef RD_MULTIPLE_DRIVE |
|
433 public: // from MAknMemoryCardDialogObserver |
|
434 |
|
435 /** |
|
436 * To be notified when unlock completed |
|
437 * @param TInt aResult |
|
438 * @return void |
|
439 */ |
|
440 void UnlockComplete( TInt aResult ); |
|
441 #endif // RD_MULTIPLE_DRIVE |
|
442 |
|
443 public: |
|
444 |
|
445 /** |
|
446 * Plays the sound EAvkonSIDInformationTone |
|
447 * @param None |
|
448 * @return void |
|
449 */ |
|
450 void Beep(); |
|
451 |
|
452 #ifndef RD_MULTIPLE_DRIVE |
|
453 /** |
|
454 * Unlocks MMC |
|
455 * @param None |
|
456 * @return void |
|
457 */ |
|
458 void RunUnlockNotifierL( TSysApMemoryCardStatus aMemoryCardStatus = ESysApMemoryCardStatusNotKnown ); |
|
459 |
|
460 /** |
|
461 * From MSysApMemoryCardObserver. |
|
462 * Gets called by CSysApMMCObserver when an MMC is inserted/removed |
|
463 * @return void |
|
464 */ |
|
465 void MMCStatusChangedL(); |
|
466 |
|
467 /** |
|
468 * Shows "MMC removed..." dialogs |
|
469 * @param None |
|
470 * @return void |
|
471 */ |
|
472 void ShowMMCDismountedDialogL(); |
|
473 #else // RD_MULTIPLE_DRIVE |
|
474 |
|
475 /** |
|
476 * Updates PS key during boot |
|
477 * @return void |
|
478 */ |
|
479 void MMCInsertedL(); |
|
480 |
|
481 /** |
|
482 * Unlocks MMC |
|
483 * @param None |
|
484 * @return void |
|
485 */ |
|
486 void RunUnlockNotifierL(); |
|
487 |
|
488 /** |
|
489 * From MSysApMemoryCardObserver. |
|
490 * Gets called by CSysApMMCObserver when an MMC is inserted/removed |
|
491 * @param aDrive Changed drive |
|
492 * @return void |
|
493 */ |
|
494 void MMCStatusChangedL( TInt aDrive ); |
|
495 |
|
496 /** |
|
497 * Shows "MMC removed..." dialogs |
|
498 * @param aDrive Drive to dismount |
|
499 * @param aEjectType Eject type used for the drive |
|
500 * @return void |
|
501 */ |
|
502 TBool ShowMMCDismountedDialogL( |
|
503 TInt aDrive, CSysApDriveList::TDriveEjectType aEjectType ); |
|
504 #endif // RD_MULTIPLE_DRIVE |
|
505 |
|
506 /** |
|
507 * Called after confirming dialog "MMC removed..." |
|
508 * @param None |
|
509 * @return void |
|
510 */ |
|
511 void MMCDismountedDialogConfirmed(); |
|
512 |
|
513 /** |
|
514 * Gets called by CSysApSharedDataObserver when "Eject" is started |
|
515 * or finished in File Manager application. |
|
516 * @param None |
|
517 * @return void |
|
518 */ |
|
519 void EjectStarted( TBool ejectStarted ); |
|
520 |
|
521 private: |
|
522 /** |
|
523 * EPOC default constructor. |
|
524 * @param None |
|
525 * @return void |
|
526 */ |
|
527 void ConstructL(); |
|
528 |
|
529 private: |
|
530 |
|
531 #ifndef RD_MULTIPLE_DRIVE |
|
532 |
|
533 /** |
|
534 * Resolves process UID based on its thread id |
|
535 * |
|
536 * @since S60 3.1 |
|
537 * @param aThreadId id of the thread |
|
538 * @return TInt32 process UID |
|
539 */ |
|
540 TInt32 ResolveUidFromThread( TUint aThreadId ) const; |
|
541 |
|
542 /** |
|
543 * Called recursively when shutting down apps in Hot Swap |
|
544 * @param None |
|
545 * @return void |
|
546 */ |
|
547 void CloseUIAppsInHotSwapL(); |
|
548 |
|
549 /** |
|
550 * Called by CloseUIApplicationsHotSwapL when completing |
|
551 * shutting apps |
|
552 * @param None |
|
553 * @return void |
|
554 */ |
|
555 void CompleteAppsShuttingInHotSwapL(); |
|
556 #endif // RD_MULTIPLE_DRIVE |
|
557 |
|
558 public: |
|
559 |
|
560 /** |
|
561 * Initializes parameters used in shutting down apps in BT SAP |
|
562 * @param None |
|
563 * @return void |
|
564 */ |
|
565 void InitCloseSimApplicationsL(); |
|
566 |
|
567 private: |
|
568 |
|
569 /** |
|
570 * Called recursively when shutting down apps in BT SAP |
|
571 * @param None |
|
572 * @return void |
|
573 */ |
|
574 void CloseSimApplicationsL(); |
|
575 |
|
576 /** |
|
577 * Called to re-envoke CloseSimApplicationsL() |
|
578 * @param None |
|
579 * @return void |
|
580 */ |
|
581 static TInt DoCloseSimApplicationsAfterCallBack( TAny* aObject ); |
|
582 |
|
583 private: |
|
584 /** |
|
585 * Takes care of command handling. |
|
586 * @param aCommand command to be handled |
|
587 * @return void |
|
588 */ |
|
589 void HandleCommandL( TInt aCommand); |
|
590 |
|
591 /** |
|
592 * handles key events |
|
593 * @param TKeyEvent& aKeyEvent |
|
594 * @param TEventCode aType |
|
595 * @return TKeyResponse |
|
596 */ |
|
597 TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); |
|
598 |
|
599 private: |
|
600 // By default, prohibit copy constructor |
|
601 CSysApAppUi( const CSysApAppUi& ); |
|
602 |
|
603 // Prohibit assigment operator |
|
604 CSysApAppUi& operator= ( const CSysApAppUi& ); |
|
605 |
|
606 private: |
|
607 void HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent); |
|
608 /** |
|
609 * Gets called by ConstructL function to set initial states to indicators etc |
|
610 * Needed state information is got from Shared Data and status pane's components |
|
611 * are set to the correct states. |
|
612 * @param None |
|
613 * @return void |
|
614 */ |
|
615 void InitializeStatusPaneAreaL(); |
|
616 |
|
617 /** |
|
618 * Gets called by HandleKeyEventL after detecting a long press of powerkey. |
|
619 * According to current state of the device desides if it is time to either |
|
620 * shutdown or make startup (from charging state ) to normal state |
|
621 * @param None |
|
622 * @return void |
|
623 */ |
|
624 void HandleLongPowerKeyPressedL(); |
|
625 |
|
626 /** |
|
627 * Gets called by HandleKeyEventL after a short press of powerkey. |
|
628 * According to current state of the device desides if it is time to |
|
629 * either switch lights on and show mode selection dialog(normal state) |
|
630 * or to shutdown the phone (in alarm state). |
|
631 * @param None |
|
632 * @return void |
|
633 */ |
|
634 void HandleShortPowerKeyPressedL(); |
|
635 |
|
636 /** |
|
637 * Frees SysAp's reserved memory, closes connections to servers etc. |
|
638 * @param None |
|
639 * @return void |
|
640 */ |
|
641 void FreeResources(); |
|
642 |
|
643 public: |
|
644 |
|
645 /** |
|
646 * Displays a UI query. |
|
647 * @param TSysApConfirmationQueryIds |
|
648 * @param aValue query related value |
|
649 * @return void |
|
650 */ |
|
651 void ShowQueryL( const TSysApConfirmationQueryIds aQueryId, |
|
652 const TDesC& aValue = KNullDesC ); |
|
653 |
|
654 /** |
|
655 * Displays a UI note. |
|
656 * @param TSysApNoteIds aSysApNoteIds |
|
657 * @return void |
|
658 */ |
|
659 void ShowUiNoteL( const TSysApNoteIds aNote ) const; |
|
660 |
|
661 /** |
|
662 * Displays a "Charger connected" note. |
|
663 * @param None |
|
664 * @return void |
|
665 */ |
|
666 void ShowChargingNoteL(); |
|
667 |
|
668 /** |
|
669 * Handles charger related notes |
|
670 * @param TInt : KPSUidChargerCStatusValue |
|
671 * @return void |
|
672 */ |
|
673 void HandleChargerNotesL( const TInt aValue ); |
|
674 |
|
675 /** |
|
676 * Displays a "Selected profile" note. |
|
677 * @param None |
|
678 * @return void |
|
679 */ |
|
680 void ShowProfileNoteL(); |
|
681 |
|
682 /** |
|
683 * Cancels a UI wait note. |
|
684 * @param None |
|
685 * @return void |
|
686 */ |
|
687 void CancelWaitNote(); |
|
688 |
|
689 /** |
|
690 * Cancels the global list query |
|
691 * @param None |
|
692 * @return void |
|
693 */ |
|
694 void CancelGlobalListQuery(); |
|
695 |
|
696 /** |
|
697 * Updates signal bars to the value cached by Etel connector. |
|
698 * @return void |
|
699 */ |
|
700 void UpdateSignalBarsL(); |
|
701 |
|
702 /** |
|
703 * Updates signal bars to specified state. |
|
704 * @param TInt aState Number of bars or KAknSignalOffLineMode |
|
705 * @return void |
|
706 */ |
|
707 void UpdateSignalBarsL( const TInt aState ); |
|
708 |
|
709 /** |
|
710 * Gets called by HandleSystemAgentEventL to singal availability indicator |
|
711 * ie. Gprs state icon or common signal icon. |
|
712 * @param None |
|
713 * @return void |
|
714 */ |
|
715 void SetSignalIndicatorL(); |
|
716 |
|
717 /** |
|
718 * Gets called by SetSignalIndicatorL() when in GSM network |
|
719 * @param None |
|
720 * @return void |
|
721 */ |
|
722 void SetSignalIndicatorGsmL(); |
|
723 |
|
724 /** |
|
725 * Gets called by SetSignalIndicatorL() when in Wcdma network |
|
726 * @param None |
|
727 * @return void |
|
728 */ |
|
729 void SetSignalIndicatorWcdmaL(); |
|
730 |
|
731 /** |
|
732 * Handles GPRS suspend/resume notes if feature supported. |
|
733 * ie. Gprs state icon or common signal icon. |
|
734 * @param None |
|
735 * @return void |
|
736 */ |
|
737 void HandleGprsNotesL(); |
|
738 |
|
739 /** |
|
740 * Returns the current bluetooth power mode setting using CSysApSharedDataObserver |
|
741 * @param None |
|
742 * @return TInt |
|
743 */ |
|
744 TInt BluetoothPowerMode() const; |
|
745 |
|
746 /** |
|
747 * Activates the profile given as a parameter |
|
748 * @param TInt aProfileId |
|
749 * @return void |
|
750 */ |
|
751 void ActivateProfileL( const TInt aProfileId ) const; |
|
752 |
|
753 /** |
|
754 * Activates the profile saved in iProfileToBeActivated. |
|
755 * @param None |
|
756 * @return void |
|
757 */ |
|
758 void ActivateOnlineProfileL() const; |
|
759 |
|
760 /** |
|
761 * Checks whether Offline Mode is activated |
|
762 * @param TBool |
|
763 * @return void |
|
764 */ |
|
765 TBool OfflineModeActive(); |
|
766 |
|
767 /** |
|
768 * Tolds Offline Mode controller not to activate BT |
|
769 * when next going online. |
|
770 * @param None |
|
771 * @return void |
|
772 */ |
|
773 void DoNotActivateBt(); |
|
774 |
|
775 /** |
|
776 * Switches BT module on/off using BT Engine |
|
777 * @param TBool: ETrue = on, EFalse = off |
|
778 * @return void |
|
779 */ |
|
780 TInt SetBtPowerState( TBool aBtState ); |
|
781 |
|
782 /** |
|
783 * Sets iKeyLockOnBeforeCall = EFalse. |
|
784 * @param None |
|
785 * @return void |
|
786 */ |
|
787 void DoNotEnableKeylock(); |
|
788 |
|
789 #ifdef RD_MULTIPLE_DRIVE |
|
790 /* |
|
791 * Starts wait note for eject |
|
792 */ |
|
793 void ShowEjectWaitNoteL( TInt aDriveToEject ); |
|
794 |
|
795 /* |
|
796 * Checks is eject query visible |
|
797 */ |
|
798 TBool IsEjectQueryVisible(); |
|
799 #endif // RD_MULTIPLE_DRIVE |
|
800 |
|
801 /** |
|
802 * Gets called by CSysApSharedDataObserver when "Eject" is selected |
|
803 * in File Manager application. |
|
804 * @param aDrive Drive to eject |
|
805 * @return void |
|
806 */ |
|
807 void EjectUsed( TInt aDrive ); |
|
808 |
|
809 /** |
|
810 * MMC Hot Swap Ejection from powerkey menu was canceled |
|
811 * @param None |
|
812 * @return void |
|
813 */ |
|
814 void EjectMMCCanceled(); |
|
815 |
|
816 private: |
|
817 |
|
818 /** |
|
819 * Gets currently active profile's name. |
|
820 * @param TPtr aProfileName |
|
821 * @return void |
|
822 */ |
|
823 void ActiveProfileNameL( TPtr aProfileName ); |
|
824 |
|
825 public: |
|
826 |
|
827 /** |
|
828 * Gets called by HandleSystemAgentEventL to update battery bars. |
|
829 * @param TInt aState |
|
830 * @return void |
|
831 */ |
|
832 void UpdateBatteryBarsL( const TInt aState ); |
|
833 |
|
834 /** |
|
835 * Gets called by HandleSystemAgentEventL when profile was changed. |
|
836 * Profile selected Global Note is shown. |
|
837 * @param TInt aValue |
|
838 * @return void |
|
839 */ |
|
840 void HandleProfileChangedL( const TInt aValue ); |
|
841 |
|
842 /** |
|
843 * Checks if the active profile is silent and updates CSysApLightsController |
|
844 * if needed. |
|
845 * @param None |
|
846 * @return void |
|
847 */ |
|
848 void CheckSilentModeL(); |
|
849 |
|
850 /** |
|
851 * Gets called by CSysApOfflineModeController when activation/deactivation |
|
852 * of Offline Mode fails |
|
853 * @param TBool aOffline |
|
854 * @return void |
|
855 */ |
|
856 void RestoreProfileL( const TBool aOffline ); |
|
857 |
|
858 /** |
|
859 * Returns the id of the active profile. |
|
860 * @param None |
|
861 * @return Int |
|
862 */ |
|
863 TInt ActiveProfileId(); |
|
864 |
|
865 /** |
|
866 * Gets called when the value of the SD key KGSDisplayLightsTimeout |
|
867 * changes |
|
868 * @param TInt : lights timeout in seconds |
|
869 * @return void |
|
870 */ |
|
871 void DoLightsTimeoutChangedL( const TInt aTimeout ); |
|
872 |
|
873 private: |
|
874 |
|
875 /** |
|
876 * Checks whether it is necessary to change profiles in case an accessory |
|
877 * was connected/disconnected while the device was powered down. |
|
878 * |
|
879 * @param TInt aValue |
|
880 * @return void |
|
881 */ |
|
882 void HandleAccessoryProfileInStartupL( ); |
|
883 |
|
884 public: |
|
885 /** |
|
886 * Gets called by HandleSystemAgentEventL to Disable keylock when devicelock is activated. |
|
887 * This is done already when device lock is activated because this |
|
888 * @param None |
|
889 * @return void |
|
890 */ |
|
891 void SetDeviceLockEnabledL( const TBool aLockEnabled ); |
|
892 |
|
893 private: |
|
894 |
|
895 /** |
|
896 * Gets called by HandleShortPowerKeyPressedL to display the power key popup menu |
|
897 * @param None |
|
898 * @return void |
|
899 */ |
|
900 void ShowPowerKeyPopUpMenuL(); |
|
901 |
|
902 /** |
|
903 * Does what is needed to do inside SysAp before actually doing |
|
904 * other shutdown related things. This is used when shutdown image is enabled. |
|
905 * @param None |
|
906 * @return void |
|
907 */ |
|
908 void PrepareForShutdownImage(); |
|
909 |
|
910 /** |
|
911 * Does what is needed to do inside SysAp before actually doing |
|
912 * other shutdown related things. This is used when shutdown animation is enabled. |
|
913 * @param None |
|
914 * @return void |
|
915 */ |
|
916 void PrepareForShutdownAnimation(); |
|
917 |
|
918 /** |
|
919 * Show shutdown animation |
|
920 * |
|
921 * @param |
|
922 * @return ETrue if animation is enabled |
|
923 */ |
|
924 #ifdef RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
925 void |
|
926 #else // RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
927 TBool |
|
928 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
929 ShowAnimationL(); |
|
930 |
|
931 /** |
|
932 * Makes Status pane visible/invisible when needed and changes it's layout between Charging/Alarm |
|
933 * @param None |
|
934 * @return void |
|
935 */ |
|
936 void SetStatusPaneLayoutL( const TSysApPhoneState aState ); |
|
937 |
|
938 /** |
|
939 * Checks from current Symbian swstate if it is ok to initiate shutdown |
|
940 * @param None |
|
941 * @return const TBool |
|
942 */ |
|
943 TBool OkToInitiateShutdown(); |
|
944 |
|
945 /** |
|
946 * Shows shutdown animation or shutdown image |
|
947 * @param None |
|
948 * @return void |
|
949 */ |
|
950 void PrepareForCompleteShutdown(); |
|
951 |
|
952 /** |
|
953 * Makes the end part of shutdown sequence. |
|
954 * @param None |
|
955 * @return void |
|
956 */ |
|
957 void CompleteShutdown( const TBool aReset = EFalse, const TInt aResetReason = KDummyReason ); |
|
958 |
|
959 /** |
|
960 * Sets calls forwarding indicators on/off accrding to aCallsForwardingState |
|
961 * @param TInt aCallsForwardingState |
|
962 * @return void |
|
963 */ |
|
964 void DoSwStateNormalConstructionL(); |
|
965 |
|
966 public: |
|
967 |
|
968 /** |
|
969 * Starts an application or brings an already running application |
|
970 * to foreground. |
|
971 * @param TUid: UID of the application that is activated |
|
972 * @return void |
|
973 */ |
|
974 void ActivateApplicationL( const TUid aUid ); |
|
975 |
|
976 void HandleCurrentCallStateChangeL( TInt aCurrentCallState ); |
|
977 |
|
978 void DoSimChangedFromPreviousBootL(); |
|
979 |
|
980 /** |
|
981 * Gets called in SysAp construction or when SysAp gets a SA/P&S notification |
|
982 * @param const TInt: indicator status |
|
983 * @return void |
|
984 */ |
|
985 void HandleLocationPrivacyIndicatorL( const TInt aState ); |
|
986 |
|
987 /** |
|
988 * Return value of the__SIMCARD feature |
|
989 * @param None |
|
990 * @return TBool |
|
991 */ |
|
992 TBool SimSupported(); |
|
993 |
|
994 /** |
|
995 * Notify CSysApLightController of the empty battery. |
|
996 * @param None |
|
997 * @return void |
|
998 */ |
|
999 void BatteryEmptyL(); |
|
1000 |
|
1001 /** |
|
1002 * Prompt starter to change mode |
|
1003 * @param aState The new state |
|
1004 * @return KErrArgument if the state change is illegal (from current state |
|
1005 * it is not possible to change to the requested state), KErrNone if the |
|
1006 * global state change has been successfully initiated. |
|
1007 */ |
|
1008 TInt SetStarterState( const RStarterSession::TGlobalState aState ); |
|
1009 |
|
1010 /** |
|
1011 * Creates the device name string for BT Sap disconnect prompt. |
|
1012 * @return device name string. |
|
1013 */ |
|
1014 HBufC* GetBtSapDeviceNameL(); |
|
1015 |
|
1016 /** |
|
1017 * Handle alarm indicator |
|
1018 * @param aShowIndicator If ETrue, indicator is show, otherwise it is hidden. |
|
1019 */ |
|
1020 void ShowAlarmIndicatorL( TBool aShowIndicator ); |
|
1021 |
|
1022 /** |
|
1023 * Informs lights controller that flip has been opened/close |
|
1024 * @param aFlipOpen ETrue if flip is open, EFalse otherwise |
|
1025 */ |
|
1026 void SetFlipOpenL( TBool aFlipOpen ); |
|
1027 |
|
1028 /** |
|
1029 * Creates a virtual flip key event that is passed to the key management |
|
1030 * of SysAp. |
|
1031 * |
|
1032 * @since S60 3.2 |
|
1033 * @param aFlipOpen ETrue if flip is open, EFalse otherwise |
|
1034 * @return None |
|
1035 */ |
|
1036 void SimulateFlipKeyEventL( TBool aFlipOpen ); |
|
1037 |
|
1038 /** |
|
1039 * Informs lights controller that grip has been opened/close |
|
1040 * @param aGripOpen ETrue if grip is open, EFalse otherwise |
|
1041 */ |
|
1042 void SetGripOpenL( TBool aGripOpen ); |
|
1043 |
|
1044 /** |
|
1045 * Sets the status of the Central Repository key |
|
1046 * KCRUidCoreApplicationUIs / KCoreAppUIsNetworkConnectionAllowed |
|
1047 * @param TInt |
|
1048 * @return void |
|
1049 */ |
|
1050 void SetNetworkConnectionAllowed( TCoreAppUIsNetworkConnectionAllowed aNetworkConnectionAllowed ); |
|
1051 |
|
1052 /** |
|
1053 * Get pointer to RTelServer |
|
1054 * |
|
1055 * @return pointer to RTelServer if iSysApEtelConnector is initialized. Otherwise return NULL. |
|
1056 */ |
|
1057 RTelServer* GetTelServer(); |
|
1058 |
|
1059 /** |
|
1060 * Show WLan indicator |
|
1061 * |
|
1062 * @param aValue The value of KPSWlanIndicator PS key. |
|
1063 */ |
|
1064 void HandleWlanIndicatorL( TInt aValue ); |
|
1065 |
|
1066 /** |
|
1067 * Show TARM indicator |
|
1068 * |
|
1069 * @param aValue The value of KCoreAppUIsTarmIndicator PS key |
|
1070 */ |
|
1071 void HandleTarmIndicatorL( TInt aValue ); |
|
1072 |
|
1073 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
1074 /** |
|
1075 * Continue shutdown animation showing after sync request |
|
1076 */ |
|
1077 void ShutdownAnimationSyncOK(); |
|
1078 #endif RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
1079 |
|
1080 /** |
|
1081 * Skip shutdown animation (i.e. stop showing it). Initiated by CoverUI. |
|
1082 */ |
|
1083 void SkipShutdownAnimation(); |
|
1084 |
|
1085 /** |
|
1086 * Notifies CoverUI about skipping shutdown animation. |
|
1087 */ |
|
1088 void NotifyShutdownAnimationSkip(); |
|
1089 |
|
1090 /** |
|
1091 * Check cover display support |
|
1092 * |
|
1093 * @return ETrue if cover display is supported, EFalse otherwise |
|
1094 */ |
|
1095 TBool CoverDisplaySupported(); |
|
1096 |
|
1097 /** |
|
1098 * Returns reference to RStarterSession |
|
1099 * RStarterSession is connected when this method is called |
|
1100 * for the first time. |
|
1101 * |
|
1102 * Always (except when freeing resources) access the starter session via this method, |
|
1103 * don't use the member variable directly. |
|
1104 * |
|
1105 * @return reference to RStarterSession |
|
1106 */ |
|
1107 RStarterSession& StarterSession(); |
|
1108 |
|
1109 /** |
|
1110 * Returns reference to SysAp's CenRep controller |
|
1111 * |
|
1112 * @since S60 3.1 |
|
1113 * @param None |
|
1114 * @return reference to CSysApCenRepController |
|
1115 */ |
|
1116 CSysApCenRepController& CenRepController(); |
|
1117 |
|
1118 /** |
|
1119 * Ignore zero network bars signal notifies. |
|
1120 * This is needed in BT SAP mode. |
|
1121 * |
|
1122 * @param aIgnore If ETrue, ignore any future zero network bars notifications. |
|
1123 */ |
|
1124 void IgnoreZeroNetworkBarNotifications(TBool aIgnore); |
|
1125 |
|
1126 /** |
|
1127 * Check if BT SAP is enabled |
|
1128 * |
|
1129 * @return ETrue if BT SAP is enabled, EFalse otherwise |
|
1130 */ |
|
1131 TBool BtSapEnabled(); |
|
1132 |
|
1133 /** |
|
1134 * Deactivate BT when changing to normal mode. |
|
1135 * Can only be used during startup, has no effect after that. |
|
1136 */ |
|
1137 void DeactivateBT(); |
|
1138 |
|
1139 private: |
|
1140 /** |
|
1141 * Returns reference to SysAp's keylock session |
|
1142 * RAknKeylock2 session is connected when this method is called |
|
1143 * for the first time. |
|
1144 * |
|
1145 * Always (except when freeing resources) access the keylock session via this method, |
|
1146 * don't use the member variable directly. |
|
1147 * |
|
1148 * @since S60 3.1 |
|
1149 * @param None |
|
1150 * @return reference to RAknKeylock2 |
|
1151 */ |
|
1152 RAknKeylock2& KeyLock(); |
|
1153 |
|
1154 |
|
1155 |
|
1156 #ifdef __SYSAP_MODULE_TEST |
|
1157 |
|
1158 /** |
|
1159 * Can be used for showing a CAknGlobalNote in module tests |
|
1160 * @param noteText : text to be shown in the note |
|
1161 * @return void |
|
1162 */ |
|
1163 void ModuleTestShowUiNoteL( const TDesC& noteText ) const; |
|
1164 #endif |
|
1165 |
|
1166 /** |
|
1167 * shows power down note before displaying shutdown image |
|
1168 * @param: none |
|
1169 * @return void |
|
1170 */ |
|
1171 void ShowShutdownNoteL(); |
|
1172 |
|
1173 /** Return ETrue if the global system state is one of the 'normal' |
|
1174 * states: ESwStateNormalRfOn, ESwStateNormalRfOff or |
|
1175 * ESwStateNormalBTSap. |
|
1176 */ |
|
1177 TBool IsStateNormal() const; |
|
1178 |
|
1179 /** |
|
1180 * Returns max of three integers |
|
1181 * @param: TInt |
|
1182 * @return void |
|
1183 */ |
|
1184 TInt Max( const TInt aA, const TInt aB, const TInt aC ); |
|
1185 |
|
1186 /** |
|
1187 * Displays shutdown image. |
|
1188 * This method is just a nonleaving implementation, |
|
1189 * calls ShowShutdownImageL for performing the task. |
|
1190 * |
|
1191 * @since S60 3.1 |
|
1192 * @param aBitmapId bitmap identifier |
|
1193 * @return TInt an error value |
|
1194 * @see CSysApAppUi::ShowShutdownImageL |
|
1195 */ |
|
1196 TInt ShowShutdownImage( TInt aBitmapId ); |
|
1197 |
|
1198 /** |
|
1199 * Displays shutdown image. If a CSysApShutdownImage instance |
|
1200 * does not exist, it will be created. |
|
1201 * |
|
1202 * @since S60 3.1 |
|
1203 * @param aBitmapId bitmap identifier |
|
1204 * @return None |
|
1205 * @leave Symbian error code |
|
1206 */ |
|
1207 void ShowShutdownImageL( TInt aBitmapId ); |
|
1208 |
|
1209 private: // from MSysapCallback |
120 private: // from MSysapCallback |
1210 /** |
121 /** |
1211 * Executes a command in SysAp. |
122 * Executes a command in SysAp. |
1212 * |
123 * |
1213 * @since S60 3.1 |
124 * @since S60 3.1 |
1256 * @leave an error code, system wide/command specific |
167 * @leave an error code, system wide/command specific |
1257 * |
168 * |
1258 * @see MSysapCallback::TSysapQuery |
169 * @see MSysapCallback::TSysapQuery |
1259 */ |
170 */ |
1260 void ExecQueryL( TSysapQuery aQuery, TDes8& aReturn, const TDesC8& aParam ); |
171 void ExecQueryL( TSysapQuery aQuery, TDes8& aReturn, const TDesC8& aParam ); |
1261 |
172 |
1262 public: |
173 // private: |
1263 /** |
174 /** |
1264 * Sets HAC (Hearing Aid Compatibility) indicator according to its CenRep-setting |
175 * EPOC default constructor. |
1265 * state. |
|
1266 * HAC indicator is not displayed if an accessory is connected. |
|
1267 * |
|
1268 * @param None |
176 * @param None |
1269 * @return None |
177 * @return void |
1270 */ |
178 */ |
1271 void SetHacIndicatorL(); |
179 public: |
1272 |
180 void ConstructL(); |
1273 /** |
181 |
1274 * Returns reference to SysAp's internal feature manager. |
182 private: // from CEikAppUi |
1275 * |
|
1276 * @since S60 3.1 |
|
1277 * @return CSysApFeatureManager& |
|
1278 */ |
|
1279 CSysApFeatureManager& SysApFeatureManager(); |
|
1280 |
|
1281 /** |
|
1282 * Handles response to power save activation query. |
|
1283 * |
|
1284 * @param aEnable If ETrue, the user has accepted the query. |
|
1285 */ |
|
1286 void HandleActivatePsmQueryResponse( TBool aEnable ); |
|
1287 |
|
1288 /** |
|
1289 * Handles response to power save deactivation query. |
|
1290 * |
|
1291 * @param aDisable If ETrue, the user has accepted the query. |
|
1292 */ |
|
1293 void HandleDeactivatePsmQueryResponse( TBool aDisable ); |
|
1294 |
|
1295 private: // from CAknAppUi |
|
1296 /** |
183 /** |
1297 * Handles a change to the application's resources which are shared across the environment. |
184 * Handles a change to the application's resources which are shared across the environment. |
1298 * |
185 * |
1299 * @since S60 3.1 |
186 * @since S60 3.1 |
1300 * @param aType The type of resources that have changed. |
187 * @param aType The type of resources that have changed. |
1301 * @return None. |
188 * @return None. |
1302 */ |
189 */ |
1303 void HandleResourceChangeL(TInt aType); |
190 // void HandleResourceChangeL(TInt aType); |
1304 |
191 |
1305 private: |
192 private: |
1306 /** |
193 /** |
1307 * Shows and hides the memory card indicator depending on whether the memory card is inserted or not. |
194 * Takes care of command handling. |
1308 * |
195 * @param aCommand command to be handled |
1309 * @since S60 3.1 |
196 * @return void |
1310 * @param None. |
197 */ |
1311 * @return None. |
198 void HandleCommandL( TInt aCommand); |
1312 */ |
199 |
1313 void SetMemoryCardIndicatorL(); |
200 /** |
1314 |
201 * handles key events |
1315 /** |
202 * @param TKeyEvent& aKeyEvent |
1316 * Returns whether IHF has been enabled. |
203 * @param TEventCode aType |
1317 * Creates audio routing observer if it does not exist.. |
204 * @return TKeyResponse |
1318 * |
205 */ |
1319 * @since S60 3.2 |
206 TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); |
1320 * @return TBool ETrue if IHF is enabled |
207 |
1321 */ |
208 public: |
1322 TBool IhfEnabledL(); |
209 // void CallFromMain(); |
1323 |
210 |
1324 #ifdef RD_MULTIPLE_DRIVE |
211 /** |
1325 void UpdateInsertedMemoryCardsL(); |
212 * Returns the state of keylock |
1326 #endif // RD_MULTIPLE_DRIVE |
213 * @param none |
1327 |
214 * @return TBool the state of keylock |
1328 /** |
215 */ |
1329 * Handles setup of USB charger from given charging status. |
216 TBool KeyLockState() const; |
1330 * |
217 |
1331 * @since S60 3.2 |
218 /** |
1332 * @param aValue Given charging status |
219 * Returns the state of devicelock |
1333 */ |
220 * @param none |
1334 void HandleUsbCharger( const TInt aValue ); |
221 * @return TBool the state of devicelock |
1335 |
222 */ |
1336 public: |
223 TBool DeviceLockState() const; |
1337 /** |
224 |
1338 * Sets USB connection attach status. |
225 /** |
1339 * This prevents double beep when USB file transfer gets activated. |
226 * Returns reference to SysAp's internal feature manager. |
1340 * |
227 * |
1341 * @since S60 3.2 |
228 * @since S60 3.1 |
1342 * @param aUsbConnected ETrue if USB cable has just been attached, otherwise EFalse |
229 * @return CSysApFeatureManager& |
1343 */ |
230 */ |
|
231 CSysApFeatureManager& SysApFeatureManager(); |
|
232 |
|
233 /* |
|
234 * Called by SysApLightsController when the lights are switced on/off |
|
235 * @param aActivate If ETrue forwarding is activated, otherwise deactivated |
|
236 * @return void |
|
237 */ |
|
238 void ActivateKeyeventForwardingForLights(TBool aActivate); |
|
239 |
|
240 TBool IsEncryptionOperationOngoingL() const; |
|
241 // void ConnectToFileServerL(); |
|
242 // void ConnectToWindowServerL(); |
|
243 void ShowExampleUiNoteL ( const TDesC& noteText )const; |
|
244 void ShowNotificationDialog(const TDesC& noteText)const; |
|
245 void PopupNote(); |
|
246 // void CreateWindowGroup(); |
|
247 TBool ResourcesFreed() const; |
|
248 void ShowUiNoteL( const TSysApNoteIds aNote ) const; |
|
249 TInt StateOfProperty( const TUid& aCategory, const TUint aKey ) const; |
|
250 TBool OfflineModeActive(); |
|
251 void GoOnlineL( TBool aDoProfileChange = ETrue ); |
|
252 void GoOfflineL(); |
|
253 void SwitchFromOnlineToOfflineModeL(); |
|
254 |
|
255 void DoStateChangedL( const RStarterSession::TGlobalState aSwState ); |
|
256 TInt SetStarterState( const RStarterSession::TGlobalState aState ); |
|
257 TInt BluetoothPowerMode() const; |
|
258 void SetNetworkConnectionAllowed( TCoreAppUIsNetworkConnectionAllowed aNetworkConnectionAllowed ); |
|
259 RStarterSession& StarterSession(); |
|
260 TInt SetBtPowerState( TBool aBtState ); |
|
261 TBool SimSupported(); |
|
262 TBool BtSapEnabled(); |
|
263 void OfflineModeChangedL(); |
|
264 TBool UiReady() const; |
|
265 void DoShutdownL( const TBool aReset, const TInt aResetReason ); |
|
266 TBool IsDeviceModeKey( const TKeyEvent& aKeyEvent ) const; |
1344 void SetUsbAttachStatus( const TBool aUsbAttached ); |
267 void SetUsbAttachStatus( const TBool aUsbAttached ); |
1345 |
|
1346 /** |
|
1347 * Returns whether the key event is considered to be a device mode key event, |
|
1348 * which usually causes a transition in the device mode (e.g. grip, flip or twist). |
|
1349 * |
|
1350 * @since S60 3.2 |
|
1351 * @param aKeyEvent key event |
|
1352 * @return TBool ETrue key event is considered to be a device mode key |
|
1353 * EFalse not a device moed key |
|
1354 */ |
|
1355 TBool IsDeviceModeKey( const TKeyEvent& aKeyEvent ) const; |
|
1356 |
|
1357 /** |
|
1358 * Returns whether resources (objects, server connections) owned by this |
|
1359 * class has been freed. |
|
1360 * |
|
1361 * @since S60 3.2 |
|
1362 * @return TBool ETrue if resource deallocation has been performed. |
|
1363 */ |
|
1364 TBool ResourcesFreed() const; |
|
1365 |
|
1366 /** |
|
1367 * Returns pointer to CSysApEtelConnector. |
|
1368 * |
|
1369 * @since S60 3.2 |
|
1370 * @return pointer to CSysApEtelConnector instance owned by this class. |
|
1371 * NULL if the object creation has failed. |
|
1372 */ |
|
1373 CSysApEtelConnector* EtelConnector() const; |
|
1374 |
|
1375 /** |
|
1376 * Returns reference to USB charger detector, TSysApUsbChargerDetector. |
|
1377 * |
|
1378 * @since S60 3.2 |
|
1379 * @return Reference to USB charger detector. |
|
1380 */ |
|
1381 TSysApUsbChargerDetector& UsbChargerDetector(); |
268 TSysApUsbChargerDetector& UsbChargerDetector(); |
1382 |
269 |
1383 /** |
270 void HandleAccessoryConnectedL( TAccMode aAccessoryState ); |
1384 * Sets envelope indicator according to current messaging status. |
271 |
1385 * |
272 void HandleAccessoryDisconnectedL(); |
1386 * @since S60 3.2 |
273 void DoLightsTimeoutChangedL( const TInt aTimeout ); |
1387 */ |
274 void SetHacIndicatorL(); |
1388 void SetEnvelopeIndicatorL(); |
275 void DoNotActivateBt(); |
1389 |
276 void SetIhfIndicatorL(); |
1390 /** |
277 void HandleLongPowerKeyPressedL(); |
1391 * Handles value changes of the key KHWRMBatteryStatus. |
278 void IgnoreZeroNetworkBarNotifications(TBool aIgnore); |
1392 * |
279 void InitCloseSimApplicationsL(); |
1393 * @since S60 3.2 |
280 void CloseSimApplicationsL(); |
1394 * @param aValue the updated key value |
281 void DoSimChangedFromPreviousBootL(); |
1395 */ |
282 void ShowAlarmIndicatorL( TBool aShowIndicator ); |
1396 void HandleBatteryStatusL( const TInt aValue ); |
283 void AlertUiAlertingL( const TBool aAlerting ); |
1397 |
284 void HandleForcedLightsVTRequireL( const TInt aLightsParameter ) const; |
1398 /** |
285 void HandleForcedLightsSSRequireL( const TInt aLightsParameter ) const; |
1399 * Handles value changes of the key KHWRMChargingStatus. |
286 void HandleForcedLightsATCRequireL( const TInt aLightsParameter ) const; |
1400 * |
287 void HandleLightsRequireL() const; |
1401 * @since S60 3.2 |
288 void AlertUiKeyLockOff( const TBool aKeyLockOff ); |
1402 * @param aValue the updated key value |
289 void DoNotEnableKeylock(); |
1403 */ |
290 void SwitchLightsOnSoftRejectL(); |
|
291 void SetDeviceLockEnabledL( const TBool aLockEnabled ); |
|
292 void HandleBatteryStatusL( const TInt aValue ); |
|
293 void BatteryEmptyL(); |
|
294 void ShowQueryL( const TSysApConfirmationQueryIds aQueryId, |
|
295 const TDesC& aValue = KNullDesC ); |
1404 void HandleChargingStatusL( const TInt aValue ); |
296 void HandleChargingStatusL( const TInt aValue ); |
1405 |
297 void HandleChargerNotesL( const TInt aValue ); |
1406 /** |
298 void UpdateBatteryBarsL( const TInt aState ); |
1407 * Cancel the specified query if it is active. |
299 void ShowChargingNoteL(); |
1408 * |
300 void HandleCurrentCallStateChangeL( TInt aCurrentCallState ); |
1409 * @param aQueryId ID of the query that must be cancelled. |
301 TBool IsEmergencyCall(); |
1410 * If ESysApNoQuery is given, the active query is cancelled. |
302 CSysApCenRepController& CenRepController(); |
1411 * without checking its ID. |
303 void HandleWlanIndicatorL( TInt aValue ); |
1412 */ |
304 |
1413 void CancelQuery( TSysApConfirmationQueryIds aQueryId ); |
305 void SetKeyLockEnabledL(); |
|
306 void SetKeyLockDisabledL(); |
|
307 void SetLightsOnUnlockNoteL(); |
|
308 void SetLightsOnEcsQueryL(); |
|
309 void SetLightsOnSecurityQueryL(); |
|
310 TBool CheckLongPowerKeyPressed(); |
|
311 TBool ReleasePowerMenuCustomDialogMemory(); |
|
312 |
|
313 #ifdef SYSAP_USE_STARTUP_UI_PHASE |
|
314 /** |
|
315 * Called when UI is ready after boot. |
|
316 */ |
|
317 void HandleUiReadyAfterBootL(); |
|
318 |
|
319 #endif // SYSAP_USE_STARTUP_UI_PHASE |
|
320 |
|
321 // RFs iFsSession; |
|
322 // RWsSession iWsSession; |
|
323 |
|
324 private: |
|
325 /** |
|
326 * Frees SysAp's reserved memory, closes connections to servers etc. |
|
327 * @param None |
|
328 * @return void |
|
329 */ |
|
330 void FreeResources(); |
|
331 TBool OkToInitiateShutdown(); |
|
332 |
|
333 |
|
334 void CompleteShutdown( const TBool aReset = EFalse, const TInt aResetReason = KDummyReason ); |
|
335 void PrepareForShutdownImage(); |
|
336 TInt ShowShutdownImage( TInt aBitmapId ); |
|
337 void ShowShutdownImageL( TInt aBitmapId ); |
|
338 TBool IhfEnabledL(); |
|
339 void DoSwStateNormalConstructionL(); |
|
340 static TInt DoCloseSimApplicationsAfterCallBack( TAny* aObject ); |
|
341 |
|
342 // from MSysApPsmControllerNotifyCallback |
|
343 void NotifyPowerSaveModeL( TSysApPsmStatus aStatus ); |
|
344 |
|
345 void HandleUsbCharger( const TInt aValue ); |
|
346 TBool IsStateNormal() const; |
|
347 void HandleAccessoryProfileInStartupL( ); |
|
348 |
|
349 CSysApCenRepLogsObserver& CSysApAppUi::LogsObserverL(); |
|
350 |
|
351 |
|
352 private: |
|
353 // CSysApWsClient* iSysApWsClient; |
|
354 CSysApLightsController* iSysApLightsController; |
|
355 CSysApFeatureManager* iSysApFeatureManager; |
|
356 CSysApNspsHandler* iSysApNspsHandler; |
|
357 CSysApPubSubObserver* iSysApPubSubObserver; |
1414 |
358 |
1415 private: |
359 CSysApDefaultKeyHandler* iSysApDefaultKeyHandler; |
1416 // from MSysApPsmControllerNotifyCallback |
360 // RWindowGroup groupWin; |
1417 void NotifyPowerSaveModeL( TSysApPsmStatus aStatus ); |
361 CSysApStartupController* iSysApStartupController; |
1418 |
362 MSysApOfflineModeController* iSysApOfflineModeController; |
1419 private: |
363 RStarterSession iStarterSession; |
1420 /** |
364 TSysApUsbChargerDetector iSysApUsbChargerDetector; |
1421 * Get the logs observer. Created if does not exist. |
365 CSysApAccessoryObserver* iSysApAccessoryObserver; |
1422 * |
366 CSysApShutdownImage* iSysApShutdownImage; |
1423 * @since S60 3.2 |
367 CSysApKeySndHandler* iSysApKeySndHandler; |
1424 * @return reference to CSysApCenRepLogsObserver object |
368 CSysApCenRepController* iSysApCenRepController; |
1425 */ |
369 CSysApCenRepLightSettingsObserver* iSysApCenRepLightSettingsObserver; |
1426 CSysApCenRepLogsObserver& CSysApAppUi::LogsObserverL(); |
370 CSysApCenRepBtObserver* iSysApCenRepBtObserver; |
1427 |
371 CSysApCenRepHacSettingObserver* iSysApCenRepHacSettingObserver; |
1428 private: //Data members |
372 |
1429 |
373 CSysApAudioRoutingObserver* iSysApAudioRoutingObserver; |
1430 /***************************************************** |
374 CSysApPsmController* iSysApPsmController; |
1431 * Series 60 Customer / DOS |
375 CSysApSsSettingsObserver* iSysApSsSettingsObserver; |
1432 * Series 60 Domestic OS API |
376 CSystemLock* iSysApSystemLock; |
1433 *****************************************************/ |
377 CSysApCenRepCallForwardingObserver* iSysApCenRepCallForwardingObserver; |
1434 |
378 CSysApBatteryInfoController* iSysApBatteryInfoController; |
1435 CSysApLightsController* iSysApLightsController; |
379 MSysApBtSapController* iSysApBtSapController; |
1436 |
380 CPeriodic* iSapTimer; |
1437 CSysApPubSubObserver* iSysApPubSubObserver; |
381 MSysApBtController* iSysApBtController; |
1438 CSysApProfileObserver* iSysApProfileObserver; |
382 CSysApCenRepLogsObserver* iSysApCenRepLogsObserver; |
1439 |
383 MSysApUsbIndicator* iSysApUsbIndicatorController; |
1440 CSysApCenRepLightSettingsObserver* iSysApCenRepLightSettingsObserver; |
384 CKeyguardAccessApi* iKeyguardController; |
1441 CSysApCenRepLogsObserver* iSysApCenRepLogsObserver; |
385 CHbDevicePowerMenuSymbian* iPowerMenuDialog; |
1442 CSysApCenRepBtObserver* iSysApCenRepBtObserver; |
386 CSysApKeyManagement* iSysApKeyManagement; |
1443 CSysApCenRepHacSettingObserver* iSysApCenRepHacSettingObserver; |
387 |
1444 // CSysApCenRepFmTxObserver* iSysApCenRepFmTxObserver; |
388 // CSysApDriveList* iSysApDriveList; |
1445 CSysApCenRepController* iSysApCenRepController; |
389 |
1446 CSysApStartupController* iSysApStartupController; |
390 private: |
1447 CSysApConnectionMonitorObserver* iSysApConnectionMonitorObserver; |
391 TBool iPowerKeyPopupMenuActive; |
1448 CSysApPowerKeyMenuObserver* iSysApPowerKeyMenuObserver; |
|
1449 CSysApSsSettingsObserver* iSysApSsSettingsObserver; |
|
1450 CSysApShutdownImage* iSysApShutdownImage; |
|
1451 CSysApShutdownAnimation* iSysApShutdownAnimation; |
|
1452 CSysApEtelConnector* iSysApEtelConnector; |
|
1453 CSysApAccessoryObserver* iSysApAccessoryObserver; |
|
1454 CSysApMsgSimMemLowQuery* iSysApMsgSimMemLowQuery; |
|
1455 CSysApWaitNote* iSysApWaitNote; |
|
1456 CSysApConfirmationQuery* iSysApConfirmationQuery; |
|
1457 CSysApConfirmationQuery* iSysApConfirmationQueryForRestart; |
|
1458 CSysApFeatureManager* iSysApFeatureManager; |
|
1459 MSysApOfflineModeController* iSysApOfflineModeController; |
|
1460 CSysApMMCObserver* iSysApMMCObserver; |
|
1461 CSysApNspsHandler* iSysApNspsHandler; |
|
1462 MSysApUsbIndicator* iSysApUsbIndicatorController; |
|
1463 MSysApBtController* iSysApBtController; |
|
1464 MSysApBtSapController* iSysApBtSapController; |
|
1465 MSysApLocationPrivacyIndicator* iSysApLocationPrivacyIndicator; |
|
1466 CAknBatteryNotify* iBatteryNotify; |
|
1467 CAknSignalNotify* iSignalNotify; |
|
1468 CAknGlobalListQuery* iGlobalListQuery; |
|
1469 |
|
1470 CSystemLock* iSysApSystemLock; |
|
1471 MProfileEngine* iProfileEngine; |
|
1472 MProfilesNamesArray* iProfileNamesArray; |
|
1473 RStarterSession iStarterSession; |
|
1474 RAknKeylock2 iKeyLock; |
|
1475 #ifndef RD_MULTIPLE_DRIVE |
|
1476 CAknMemoryCardDialog* iMemoryCardDialog; |
|
1477 #endif // RD_MULTIPLE_DRIVE |
|
1478 TInt iCapturedEKeyPowerOff; |
|
1479 TInt iCapturedEKeyPowerOffUpAndDowns; |
|
1480 TInt iCapturedAppskey; |
|
1481 TInt iCapturedAppskeyUpAndDowns; |
|
1482 |
|
1483 |
|
1484 TInt iNumberOfProfileNamesInPowerKeyMenu; |
|
1485 |
|
1486 TBool iPowerkeyMenuLockKeypadShown; |
|
1487 TBool iPowerkeyMenuExitSapShown; |
|
1488 TBool iPowerkeyMenuLockSystemShown; |
|
1489 TBool iPowerkeyMenuEjectShown; |
|
1490 |
|
1491 TInt iPowerkeyMenuLockKeypadSelection; |
|
1492 TInt iPowerkeyMenuExitSapSelection; |
|
1493 TInt iPowerkeyMenuLockSystemSelection; |
|
1494 #ifndef RD_MULTIPLE_DRIVE |
|
1495 TInt iPowerkeyMenuEjectSelection; |
|
1496 #endif // RD_MULTIPLE_DRIVE |
|
1497 |
|
1498 TInt iProfileToBeActivated; |
|
1499 TInt iActiveProfileBeforeOfflineMode; |
|
1500 |
|
1501 TInt iApplicationScanningRoundNumberInBtSap; |
|
1502 TBool iTimeToKillInBtSap; |
|
1503 |
|
1504 CAknGlobalNote* iProfileNote; |
|
1505 TInt iProfileNoteId; |
|
1506 |
|
1507 TBool iLastPowerKeyWasShort; |
|
1508 TBool iIgnoreNextPowerKeyUpEvent; |
|
1509 TBool iIgnoreNextPowerKeyRepeats; |
|
1510 TBool iPowerKeyPopupMenuActive; |
|
1511 TBool iDisablePowerkeyMenu; |
|
1512 TBool iPowerkeyMenuPowerOffShown; |
|
1513 |
|
1514 TBool iDeviceLockEnabled; |
392 TBool iDeviceLockEnabled; |
1515 TBool iKeyLockEnabled; |
393 TBool iKeyLockEnabled; |
1516 TBool iKeyLockOnBeforeCall; |
394 TBool iKeyLockOnBeforeCall; |
1517 TBool iKeyLockOnBeforeAlarm; |
395 TBool iKeyLockOnBeforeAlarm; |
1518 TBool iKeyLockOnBeforeCradle; |
396 TBool iKeyLockOnBeforeCradle; |
|
397 TBool iResourcesFreed; |
|
398 TInt iCapturedEKeyPowerOff; |
|
399 TInt iCapturedEKeyPowerOffUpAndDowns; |
|
400 TBool iOfflineModeActive; |
|
401 TBool iShutdownStarted; |
|
402 |
|
403 TBool iIgnoreNextPowerKeyUpEvent; // need to be added this flag in maliks client side apis. |
|
404 TBool iLastPowerKeyWasShort; |
|
405 TBool iPowerKeyPopupMenuDismissed; // need to be added this flag in malik implementation. |
|
406 TInt iKeyBoardRepeatCount; |
|
407 TBool iIgnoreNextPowerKeyRepeats; |
|
408 TInt iActiveProfileBeforeOfflineMode; |
|
409 |
|
410 TBool iSimChangedDone; |
|
411 TBool iIgnoreZeroNetworkBarNotifications; |
|
412 TInt iApplicationScanningRoundNumberInBtSap; |
|
413 TBool iTimeToKillInBtSap; |
1519 TBool iShowkeypadActivatedNoteAfterSoftReject; |
414 TBool iShowkeypadActivatedNoteAfterSoftReject; |
1520 |
415 TBool iCharging; // Indicates if charging is currently on |
1521 TBool iEmergencyCallActive; |
416 TBool iEmergencyCallActive; |
1522 TBool iSimChangedDone; |
417 TBool iCallActivated; // used in defining whether to show GPRS suspended note |
1523 TBool iResourcesFreed; |
418 |
1524 TBool iNsps; |
|
1525 #ifndef RD_MULTIPLE_DRIVE |
|
1526 TBool iHideFirstBeep; |
|
1527 #endif // RD_MULTIPLE_DRIVE |
|
1528 TBool iShutdownStarted; |
|
1529 TBool iAlarmOrChargingStateShutdownStarted; |
|
1530 |
|
1531 TBool iIgnoreAccessorySpecificProfileChanges; |
|
1532 TBool iAccessoryJustConnected; |
|
1533 |
|
1534 TBool iHandleNextProfileEvent; |
|
1535 TBool iActivateBt; |
419 TBool iActivateBt; |
1536 TBool iDeactivateBt; |
420 TBool iDeactivateBt; |
1537 #ifndef RD_MULTIPLE_DRIVE |
421 |
1538 TBool iTimeToKill; // MMC Hot Swap |
422 TBool iIgnoreAccessorySpecificProfileChanges; |
1539 TInt iApplicationScanningRoundNumber; // MMC Hot Swap |
423 TBool iCheckLongPowerKeyEvent; |
1540 #endif // RD_MULTIPLE_DRIVE |
424 |
1541 TBool iGprsActivated; // used in defining whether to show GPRS suspended note |
425 // friend class CSysApWsClient; |
1542 TBool iGprsSuspended; // used in defining whether to show GPRS suspended note |
426 }; |
1543 TBool iCallActivated; // used in defining whether to show GPRS suspended note |
427 |
1544 TBool iGprsSuspendedNoteShown; |
428 #endif |
1545 |
|
1546 TBool iMMCEjectUsed; |
|
1547 #ifndef RD_MULTIPLE_DRIVE |
|
1548 TBool iMMCPowerMenuEjectUsed; |
|
1549 TBool iMMCInserted; |
|
1550 #endif // RD_MULTIPLE_DRIVE |
|
1551 |
|
1552 CPeriodic* iTimer; |
|
1553 CPeriodic* iSapTimer; |
|
1554 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
1555 CPeriodic* iAnimTimer; |
|
1556 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
1557 CSysApTimer* iSysApTimer; |
|
1558 |
|
1559 #ifndef RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
1560 TInt iAnimationShowingTime; |
|
1561 #endif // RD_STARTUP_ANIMATION_CUSTOMIZATION |
|
1562 |
|
1563 CSysApKeySndHandler* iSysApKeySndHandler; |
|
1564 |
|
1565 TBool iIgnoreZeroNetworkBarNotifications; |
|
1566 |
|
1567 TBool iCharging; // Indicates if charging is currently on |
|
1568 CSysApKeyManagement* iSysApKeyManagement; |
|
1569 |
|
1570 CSysApMediatorObserver* iSysApMediatorObserver; |
|
1571 TBool iShutdownContinued; |
|
1572 |
|
1573 /** |
|
1574 * The default key handler. |
|
1575 * Own. |
|
1576 */ |
|
1577 CSysApDefaultKeyHandler* iSysApDefaultKeyHandler; |
|
1578 |
|
1579 TBool iPowerKeyPopupMenuDismissed; // Indicates if the popup menu has been dismissed |
|
1580 |
|
1581 #ifndef RD_MULTIPLE_DRIVE |
|
1582 TBool iHideNextBeep; // Prevents double beep when USB file transfer gets activated |
|
1583 TBool iFileManagerCloseDisabled; // Prevents File Manager to close on hotswap |
|
1584 #endif // RD_MULTIPLE_DRIVE |
|
1585 |
|
1586 CSysApAudioRoutingObserver* iSysApAudioRoutingObserver; |
|
1587 |
|
1588 /** |
|
1589 * Call forwarding status CenRep key observer. |
|
1590 * Own. |
|
1591 */ |
|
1592 CSysApCenRepCallForwardingObserver* iSysApCenRepCallForwardingObserver; |
|
1593 |
|
1594 /** |
|
1595 * Message waiting status CenRep key observer. |
|
1596 * Own. |
|
1597 */ |
|
1598 CSysApCenRepMsgWaitingObserver* iSysApCenRepMsgWaitingObserver; |
|
1599 |
|
1600 #ifdef RD_MULTIPLE_DRIVE |
|
1601 // First power menu index used for eject |
|
1602 TInt iPowerkeyMenuEjectSelectionBase; |
|
1603 |
|
1604 /** |
|
1605 * Drive list container |
|
1606 * Own. |
|
1607 */ |
|
1608 CSysApDriveList* iSysApDriveList; |
|
1609 |
|
1610 /** |
|
1611 * Drive unlock handler. |
|
1612 * Own. |
|
1613 */ |
|
1614 CSysApDriveUnlockHandler* iSysApDriveUnlockHandler; |
|
1615 |
|
1616 /** |
|
1617 * Drive eject handler. |
|
1618 * Own. |
|
1619 */ |
|
1620 CSysApDriveEjectHandler* iSysApDriveEjectHandler; |
|
1621 |
|
1622 /** |
|
1623 * Array for storing inserted memory cards. |
|
1624 * Own. |
|
1625 */ |
|
1626 RArray< CSysApDriveList::TMemoryCardEntry > iInsertedMemoryCards; |
|
1627 |
|
1628 // Stores drive for dismount query |
|
1629 TInt iDriveToDismount; |
|
1630 |
|
1631 // Stores drive for eject query |
|
1632 TInt iDriveToEject; |
|
1633 #endif // RD_MULTIPLE_DRIVE |
|
1634 |
|
1635 /** |
|
1636 * For USB charger detection. |
|
1637 */ |
|
1638 TSysApUsbChargerDetector iSysApUsbChargerDetector; |
|
1639 |
|
1640 /** |
|
1641 * SysAp power save mode controller. |
|
1642 * Own. |
|
1643 */ |
|
1644 CSysApPsmController* iSysApPsmController; |
|
1645 |
|
1646 /** |
|
1647 * SysAp battery info controller. |
|
1648 * Own. |
|
1649 */ |
|
1650 CSysApBatteryInfoController* iSysApBatteryInfoController; |
|
1651 |
|
1652 /** |
|
1653 * Returns whether a de/encrypting operation is ongoing |
|
1654 * |
|
1655 * @since S60 3.1 |
|
1656 * @return TBool ETrue if a de/encrypting operation is in progress |
|
1657 */ |
|
1658 TBool IsEncryptionOperationOngoingL() const; |
|
1659 TInt iKeyBoardRepeatCount; |
|
1660 }; |
|
1661 |
|
1662 #endif // SYSAPAPPUI_H |
|
1663 |
|
1664 // End of File |
|