20 #ifndef CPHONESTATE_H |
20 #ifndef CPHONESTATE_H |
21 #define CPHONESTATE_H |
21 #define CPHONESTATE_H |
22 |
22 |
23 // INCLUDES |
23 // INCLUDES |
24 #include <w32std.h> |
24 #include <w32std.h> |
|
25 #include <eikenv.h> |
25 #include <remconcoreapitargetobserver.h> |
26 #include <remconcoreapitargetobserver.h> |
26 #include <MProfileEngine.h> |
27 #include <MProfileEngine.h> |
27 #include "mphonestate.h" |
28 #include "mphonestate.h" |
28 #include "mphoneviewcommandhandle.h" |
29 #include "mphoneviewcommandhandle.h" |
29 #include "cphonecbamanager.h" |
30 #include "cphoneuicommandmanager.h" |
|
31 #include "cphonenumberentrymanager.h" |
30 |
32 |
31 // FORWARD DECLARATIONS |
33 // FORWARD DECLARATIONS |
32 class MPhoneState; |
34 class MPhoneState; |
33 class MPhoneStateMachine; |
35 class MPhoneStateMachine; |
34 class CPhoneCallHeaderManager; |
|
35 class TPhoneCmdParamCallHeaderData; |
36 class TPhoneCmdParamCallHeaderData; |
36 class MPhoneCustomization; |
37 class MPhoneCustomization; |
37 class CPhoneNumberEntryManager; |
|
38 |
|
39 enum TStateTransEffectType |
|
40 { |
|
41 ENoneType, |
|
42 ENumberEntryOpen, |
|
43 ENumberEntryClose, |
|
44 ENumberEntryCreate |
|
45 }; |
|
46 |
38 |
47 // CLASS DECLARATION |
39 // CLASS DECLARATION |
48 |
40 |
49 /** |
41 /** |
50 * An abstract class for an object implementing the state. |
42 * An abstract class for an object implementing the state. |
53 class CPhoneState : |
45 class CPhoneState : |
54 public CBase, |
46 public CBase, |
55 public MPhoneState |
47 public MPhoneState |
56 { |
48 { |
57 public: |
49 public: |
58 |
50 |
|
51 enum TNumberEntrySetRule |
|
52 { |
|
53 ESetNEVisibilityFalse, |
|
54 ECheckIfNEUsedBeforeSettingVisibilityFalse |
|
55 }; |
59 /** |
56 /** |
60 * Constructor |
57 * Constructor |
61 */ |
58 */ |
62 IMPORT_C CPhoneState( |
59 IMPORT_C CPhoneState( |
63 MPhoneStateMachine* aStateMachine, |
60 MPhoneStateMachine* aStateMachine, |
64 MPhoneViewCommandHandle* aViewCommandHandle, |
61 MPhoneViewCommandHandle* aViewCommandHandle, |
65 MPhoneCustomization* aCustomization); |
62 MPhoneCustomization* aCustomization); |
66 |
63 |
67 /** |
64 /** |
68 * Creates CbaManager instance. |
65 * Creates UiCommandManager instance. |
69 */ |
66 */ |
70 IMPORT_C void BaseConstructL(); |
67 IMPORT_C void BaseConstructL(); |
71 |
68 |
72 /** |
69 /** |
73 * Destructor. |
70 * Destructor. |
109 IMPORT_C virtual void HandleKeyEventL( |
106 IMPORT_C virtual void HandleKeyEventL( |
110 const TKeyEvent& aKeyEvent, |
107 const TKeyEvent& aKeyEvent, |
111 TEventCode aEventCode ); |
108 TEventCode aEventCode ); |
112 |
109 |
113 /** |
110 /** |
114 * From CEikAppUi. For Idle indicator |
|
115 */ |
|
116 IMPORT_C virtual void HandleSystemEventL( |
|
117 const TWsEvent& aEvent ); |
|
118 |
|
119 /** |
|
120 * From CAknAppUi, indicates when app ui is on the foreground. |
|
121 * @param aForeground It is true if app is on the foreground. |
|
122 */ |
|
123 IMPORT_C virtual void HandleForegroundEventL( TBool aForeground ); |
|
124 |
|
125 /** |
|
126 * Indicates when the Phone app is in the foreground. |
|
127 */ |
|
128 IMPORT_C virtual void HandlePhoneForegroundEventL(); |
|
129 |
|
130 /** |
|
131 * Indicates when the Phone app is losing focus. |
|
132 */ |
|
133 IMPORT_C virtual void HandlePhoneFocusLostEventL(); |
|
134 |
|
135 /** |
|
136 * Indicates when the Idle app is in the foreground. |
|
137 */ |
|
138 IMPORT_C virtual void HandleIdleForegroundEventL(); |
|
139 |
|
140 /** |
|
141 * Indicates when the keylock events |
|
142 */ |
|
143 IMPORT_C virtual void HandleKeyLockEnabled( TBool aKeylockEnabled ); |
|
144 |
|
145 /** |
|
146 * Handles startup of the phone application |
111 * Handles startup of the phone application |
147 */ |
112 */ |
148 IMPORT_C virtual void HandlePhoneStartupL(); |
113 IMPORT_C virtual void HandlePhoneStartupL(); |
149 |
114 |
150 /** |
115 /** |
192 IMPORT_C virtual TBool HandleRemConCommandL( |
148 IMPORT_C virtual TBool HandleRemConCommandL( |
193 TRemConCoreApiOperationId aOperationId, |
149 TRemConCoreApiOperationId aOperationId, |
194 TRemConCoreApiButtonAction aButtonAct); |
150 TRemConCoreApiButtonAction aButtonAct); |
195 |
151 |
196 /** |
152 /** |
197 * Setter for divert indication showing in bubble. |
|
198 * @param aDivertIndication ETrue to show divert indication, |
|
199 * EFalse to not. Usually setting EFalse isn't necessary |
|
200 * as it's a default value in bubble creation. |
|
201 */ |
|
202 IMPORT_C virtual void SetDivertIndication( |
|
203 const TBool aDivertIndication ); |
|
204 |
|
205 /** |
|
206 * Checks whether customized dialer view is active, |
|
207 * @return ETrue if customized dialer is active |
|
208 */ |
|
209 IMPORT_C TBool IsCustomizedDialerVisibleL() const; |
|
210 |
|
211 /** |
|
212 * Plays DTMF tone for key event |
153 * Plays DTMF tone for key event |
213 * */ |
154 * */ |
214 IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent, |
155 IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent, |
215 TEventCode aEventCode ); |
156 TEventCode aEventCode ); |
216 |
157 |
231 */ |
172 */ |
232 IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId, |
173 IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId, |
233 TBool aNotificationDialog = EFalse ); |
174 TBool aNotificationDialog = EFalse ); |
234 |
175 |
235 /** |
176 /** |
236 * Get blocked key list |
|
237 * @returns RArray<TInt>& lsit of blocked keys |
|
238 */ |
|
239 IMPORT_C const RArray<TInt>& GetBlockedKeyList() const; |
|
240 |
|
241 /** |
|
242 * Disable HW Keys if needed |
|
243 */ |
|
244 IMPORT_C void DisableHWKeysL(); |
|
245 |
|
246 /** |
|
247 * Disable Call UI |
|
248 */ |
|
249 IMPORT_C void DisableCallUIL(); |
|
250 |
|
251 /** |
|
252 * Enable Call UI |
|
253 */ |
|
254 IMPORT_C void EnableCallUIL(); |
|
255 |
|
256 /** |
|
257 * Disable HW Keys and Call UI if needed |
|
258 */ |
|
259 IMPORT_C void CheckDisableHWKeysAndCallUIL(); |
|
260 |
|
261 /** |
|
262 * Handle hold switch key event when there is an incoming or waiting call |
|
263 */ |
|
264 IMPORT_C void HandleHoldSwitchL(); |
|
265 |
|
266 /** |
|
267 * Enable HW Keys and Call UI if needed |
|
268 */ |
|
269 IMPORT_C void CheckEnableHWKeysAndCallUIL(); |
|
270 |
|
271 /** |
|
272 * Fetches autolock information - is it set on or not |
177 * Fetches autolock information - is it set on or not |
273 * @return is autolock set on (ETrue) or off (EFalse) |
178 * @return is autolock set on (ETrue) or off (EFalse) |
274 */ |
179 */ |
275 IMPORT_C TBool IsAutoLockOn() const; |
180 IMPORT_C TBool IsAutoLockOn() const; |
276 |
181 |
277 /** |
182 /** |
278 * Return is sim state ok |
183 * Return is sim state ok |
279 * @return ETrue if is sim ok, otherwise EFalse |
184 * @return ETrue if is sim ok, otherwise EFalse |
280 **/ |
185 **/ |
281 IMPORT_C TBool IsSimOk(); |
186 IMPORT_C TBool IsSimOk(); |
282 |
187 |
283 /** |
188 /** |
284 * Checks Svivel state. |
189 * Getter for CEikonEnv to avoid use of static system calls |
285 * @return ETrue if swivel is closed. |
190 * @return CEikonEnv handle |
286 */ |
191 */ |
287 IMPORT_C TBool IsSwivelClosed() const; |
192 IMPORT_C CEikonEnv* EikonEnv() const; |
288 |
193 |
289 /** |
194 /** |
290 * Check if note, query or blockingDialog is visible |
195 * Setter for CEikonEnv to avoid use of static system calls |
291 * @return boolean value indicating that note, query or |
196 * @param CEikonEnv handle |
292 * blocking dialog is visible |
197 */ |
293 */ |
198 IMPORT_C virtual void SetEikonEnv( CEikonEnv* aEnv ); |
294 IMPORT_C TBool IsAnyQueryActiveL(); |
199 |
295 |
200 /** |
296 /* |
201 * Dial CS voice call |
297 * If KFeatureIdFfSimlessOfflineSupport is undefined and |
202 */ |
298 * UI shows note which will be closed by key event then |
203 IMPORT_C void DialVoiceCallL(); |
299 * method return ETrue otherwise EFalse. |
204 |
300 */ |
205 /** |
301 TBool IsNoteDismissableL(); |
206 * Checks whether customized dialer view is active, |
302 |
207 * @return ETrue if customized dialer is active |
303 IMPORT_C void RetainPreviousKeylockStateL(); |
208 */ |
304 |
209 IMPORT_C TBool IsCustomizedDialerVisibleL() const; |
305 public: // NumberEntry functions. |
210 |
306 |
211 /** |
307 /** |
212 * Handle state-specific behaviour when number entry is cleared |
308 * Check if number entry is used |
213 */ |
309 * @return boolean value indicating that number entry is used |
214 IMPORT_C virtual void HandleNumberEntryClearedL(); |
310 */ |
215 |
311 IMPORT_C virtual TBool IsNumberEntryUsedL(); |
216 /** |
312 |
217 * Sets up call header.(removes phone dialogs, |
313 /** |
218 * sets dialer visibility according to aRule value and puts |
314 * Check if number entry is visible |
219 * phone on top of everything). Orders UiCommand manager to |
315 * @return boolean value indicating that number entry is visible |
220 * update CBS's etc. |
316 */ |
221 * @param aCallId - call id to set up |
317 IMPORT_C TBool IsNumberEntryVisibleL(); |
222 * @param aRule - Number Entry visibility set option. |
318 |
223 */ |
|
224 IMPORT_C void DisplayCallHeaderL( |
|
225 TInt aCallId, |
|
226 TNumberEntrySetRule aRule ); |
319 protected: |
227 protected: |
320 |
228 |
321 /** |
229 /** |
322 * Handle EPEMessageAudioMuteChanged |
230 * Handle EPEMessageAudioMuteChanged |
323 */ |
231 */ |
342 * Dial CS multimedia call |
250 * Dial CS multimedia call |
343 */ |
251 */ |
344 IMPORT_C void DialMultimediaCallL(); |
252 IMPORT_C void DialMultimediaCallL(); |
345 |
253 |
346 /** |
254 /** |
347 * Dial CS voice call |
|
348 */ |
|
349 IMPORT_C void DialVoiceCallL(); |
|
350 |
|
351 /** |
|
352 * Disconnect call |
255 * Disconnect call |
353 */ |
256 */ |
354 IMPORT_C TBool DisconnectCallL(); |
257 IMPORT_C TBool DisconnectCallL(); |
355 |
|
356 /** |
|
357 * Display idle screen |
|
358 */ |
|
359 IMPORT_C void DisplayIdleScreenL(); |
|
360 |
258 |
361 /** |
259 /** |
362 * Set up the Idle screen in the background for the cases |
260 * Set up the Idle screen in the background for the cases |
363 * where the phone is no longer the top application (eg. end |
261 * where the phone is no longer the top application (eg. end |
364 * call when an external app is being displayed) |
262 * call when an external app is being displayed) |
365 */ |
263 */ |
366 IMPORT_C void SetupIdleScreenInBackgroundL(); |
264 IMPORT_C void RemoveDialogsAndSendPhoneToBackgroundL(); |
367 |
|
368 /** |
|
369 * Display call header for call coming in ( the remote info data |
|
370 * and picture is displayed immediately ) |
|
371 * @param aCallid call id |
|
372 * @param aWaitingCall waiting call indication |
|
373 */ |
|
374 IMPORT_C void DisplayHeaderForCallComingInL( |
|
375 TInt aCallId, |
|
376 TInt aWaitingCall ); |
|
377 |
|
378 /** |
|
379 * Sets call header texts for call coming in |
|
380 * @param aCallid call id |
|
381 * @param aWaitingCall waiting call indication |
|
382 * @param aCallHeaderData - Call header parameter into which the text |
|
383 * will be set. |
|
384 */ |
|
385 IMPORT_C void SetCallHeaderTextsForCallComingInL( |
|
386 TInt aCallId, |
|
387 TBool aWaitingCall, |
|
388 TPhoneCmdParamCallHeaderData* aCallHeaderData ); |
|
389 |
|
390 /** |
|
391 * Display call header for outgoing call (the phone number is initially |
|
392 * displayed) |
|
393 * @param aCallid call id |
|
394 */ |
|
395 IMPORT_C void DisplayHeaderForOutgoingCallL( TInt aCallId ); |
|
396 |
265 |
397 /** |
266 /** |
398 * Update Single Active Call |
267 * Update Single Active Call |
399 * @param aCallid call id |
268 * @param aCallid call id |
400 */ |
269 */ |
437 TInt aDialogResourceId, |
299 TInt aDialogResourceId, |
438 TInt aDefaultCbaResourceId, |
300 TInt aDefaultCbaResourceId, |
439 TInt aContentCbaResourceId, |
301 TInt aContentCbaResourceId, |
440 TDes* aDataText, |
302 TDes* aDataText, |
441 TBool aSendKeyEnabled = EFalse ); |
303 TBool aSendKeyEnabled = EFalse ); |
442 |
|
443 /** |
|
444 * Check if the application needs to be sent to the background |
|
445 * @return boolean value indicating that application needs to be |
|
446 * sent to the background |
|
447 */ |
|
448 IMPORT_C TBool NeedToSendToBackgroundL() const; |
|
449 |
|
450 /** |
|
451 * Check if the top application is currently displayed in the foreground |
|
452 * @return boolean value indicating that top app is displayed |
|
453 */ |
|
454 IMPORT_C TBool TopAppIsDisplayedL() const; |
|
455 |
304 |
456 /** |
305 /** |
457 * Displays the call termination note, if required |
306 * Displays the call termination note, if required |
458 */ |
307 */ |
459 IMPORT_C void DisplayCallTerminationNoteL(); |
308 IMPORT_C void DisplayCallTerminationNoteL(); |
515 * Shows 'Number busy' note. |
364 * Shows 'Number busy' note. |
516 */ |
365 */ |
517 IMPORT_C void ShowNumberBusyNoteL(); |
366 IMPORT_C void ShowNumberBusyNoteL(); |
518 |
367 |
519 /** |
368 /** |
520 * Fetches keylock information - is it set on or not |
|
521 * @return is keylock set on (ETrue) or off (EFalse) |
|
522 */ |
|
523 IMPORT_C TBool IsKeyLockOn() const; |
|
524 |
|
525 /** |
|
526 * Informs Phone Engine Sat request completion |
|
527 * @param aCallId a call id |
|
528 */ |
|
529 IMPORT_C void CompleteSatRequestL( const TInt aCallId ); |
|
530 |
|
531 /** |
|
532 * Sets the call header type used in the call bubble. |
|
533 */ |
|
534 IMPORT_C void SetCallHeaderType( TInt aCallHeaderType ); |
|
535 |
|
536 /** |
|
537 * Informs view that UI is being updated (call bubble or number editor). |
369 * Informs view that UI is being updated (call bubble or number editor). |
538 * EndUiUpdate() must be called when update is done. |
370 * EndUiUpdate() must be called when update is done. |
539 */ |
371 */ |
540 IMPORT_C void BeginUiUpdateLC(); |
372 IMPORT_C void BeginUiUpdateLC(); |
541 |
373 |
551 * @return true if note should be shown |
383 * @return true if note should be shown |
552 */ |
384 */ |
553 IMPORT_C virtual TBool CheckIfShowCallTerminationNote( ); |
385 IMPORT_C virtual TBool CheckIfShowCallTerminationNote( ); |
554 |
386 |
555 /* |
387 /* |
556 * Sets used touchpane buttons. |
|
557 * |
|
558 * @param touchpane resource id. |
|
559 */ |
|
560 IMPORT_C void SetTouchPaneButtons( TInt aResourceId ); |
|
561 |
|
562 /* |
|
563 * Destroys touchpane buttons. |
388 * Destroys touchpane buttons. |
564 */ |
389 */ |
565 IMPORT_C void DeleteTouchPaneButtons(); |
390 IMPORT_C void DeleteTouchPaneButtons(); |
566 |
391 |
567 /** |
392 /** |
568 * Set default flags values. |
393 * Set default flags values. |
569 * No active call |
394 * No active call |
570 */ |
395 */ |
571 IMPORT_C void SetDefaultFlagsL(); |
396 IMPORT_C void SetDefaultFlagsL(); |
572 |
|
573 /** |
|
574 * Check if contact info available and |
|
575 * shown waiting note with or without caller name |
|
576 */ |
|
577 IMPORT_C void CallWaitingNoteL( TInt aCallId ); |
|
578 |
397 |
579 /* |
398 /* |
580 * Sets ringtone playback. |
399 * Sets ringtone playback. |
581 * @param aCallId call id |
400 * @param aCallId call id |
582 */ |
401 */ |
590 |
409 |
591 /** |
410 /** |
592 * Opens soft reject message editor. |
411 * Opens soft reject message editor. |
593 */ |
412 */ |
594 IMPORT_C virtual void OpenSoftRejectMessageEditorL(); |
413 IMPORT_C virtual void OpenSoftRejectMessageEditorL(); |
595 |
414 |
596 protected: // NumberEntry functions. |
415 protected: |
597 |
416 |
598 /** |
417 /** |
599 * Set Number Entry visibility. |
418 * Sets toolbar loudspeaker button enabled. |
600 * @param aVisible ETrue if numberentry is wanted to be shown |
419 */ |
601 * (Note ETrue will set NE CBA's) |
420 IMPORT_C void SetToolbarButtonLoudspeakerEnabled(); |
602 * EFalse if numberentry isnt wanted to be shown |
|
603 * (Note EFalse doesnt affact to CBA's) |
|
604 */ |
|
605 IMPORT_C void SetNumberEntryVisibilityL( const TBool aVisible ); |
|
606 |
|
607 /** |
|
608 * Create call if in numberentry more that 2 number and Send key |
|
609 * Send manual control sequence |
|
610 * if 1-2 number in numberentry and Send key |
|
611 */ |
|
612 IMPORT_C void CallFromNumberEntryL(); |
|
613 |
|
614 /** |
|
615 * Returns phone number from the phone number entry. |
|
616 * @return Phone number |
|
617 */ |
|
618 IMPORT_C HBufC* PhoneNumberFromEntryLC(); |
|
619 |
|
620 /** |
|
621 * Check if number entry content is stored |
|
622 * @return boolean value indicating that number entry content is stored |
|
623 */ |
|
624 IMPORT_C TBool IsNumberEntryContentStored(); |
|
625 |
|
626 /** |
|
627 * Stores the number entry content to the cache |
|
628 */ |
|
629 IMPORT_C void StoreNumberEntryContentL(); |
|
630 |
|
631 /** |
|
632 * Clears the number entry content cache |
|
633 */ |
|
634 IMPORT_C void ClearNumberEntryContentCache(); |
|
635 |
|
636 /** |
|
637 * Returns ETrue if alphanumeric characters are supported. |
|
638 * @param aKeyEvent Key event. |
|
639 * @return ETrue if alphanumeric chars are supported. |
|
640 */ |
|
641 IMPORT_C TBool IsAlphanumericSupportedAndCharInput( |
|
642 const TKeyEvent& aKeyEvent ); |
|
643 |
|
644 /** |
|
645 * Handle state-specific behaviour when number entry is cleared |
|
646 */ |
|
647 IMPORT_C virtual void HandleNumberEntryClearedL(); |
|
648 |
|
649 /** |
|
650 * Internal number entry handling methods. |
|
651 */ |
|
652 void NumberEntryClearL(); |
|
653 |
|
654 /** |
|
655 * Sets toolbar loudspeaker button enabled. |
|
656 */ |
|
657 IMPORT_C void SetToolbarButtonLoudspeakerEnabled(); |
|
658 |
421 |
659 /** |
422 /** |
660 * Sets state of TitleBar Back button |
423 * Sets state of TitleBar Back button |
661 */ |
424 */ |
662 IMPORT_C void SetBackButtonActive( TBool aActive ); |
425 IMPORT_C void SetBackButtonActive( TBool aActive ); |
663 |
426 |
|
427 /** |
|
428 * Updates ui commands |
|
429 */ |
|
430 IMPORT_C void UpdateUiCommands(); |
|
431 |
664 protected: |
432 protected: |
665 |
|
666 /** |
|
667 * Returns updated remote information data. |
|
668 * NOTE: This metohed is used when state receives |
|
669 * EPEMessageRemotePartyInfoChanged from PhoneEngine. |
|
670 * @param aCallId - Call Id. |
|
671 */ |
|
672 TPhoneCmdParamCallHeaderData UpdateCallHeaderInfoL( TInt aCallId ); |
|
673 |
433 |
674 /** |
434 /** |
675 * Checks if call is waiting, returns ETrue if call is waiting |
435 * Checks if call is waiting, returns ETrue if call is waiting |
676 * otherwise EFalse. |
436 * otherwise EFalse. |
677 * @param aCallId, call id. |
437 * @param aCallId, call id. |
744 * Handles network ciphering info changes |
504 * Handles network ciphering info changes |
745 */ |
505 */ |
746 void HandleCallSecureStatusChangeL( TInt aCallId ); |
506 void HandleCallSecureStatusChangeL( TInt aCallId ); |
747 |
507 |
748 /** |
508 /** |
749 * Handles change als line command |
|
750 */ |
|
751 void ChangeAlsLineL(); |
|
752 |
|
753 /** |
|
754 * Active call id |
509 * Active call id |
755 */ |
510 */ |
756 TInt GetActiveCallIdL(); |
511 TInt GetActiveCallIdL(); |
757 |
512 |
758 /** |
513 /** |
759 * Shows WLAN MAC address note |
514 * Shows WLAN MAC address note |
760 */ |
515 */ |
761 void ShowWlanMacAddressL(); |
516 void ShowWlanMacAddressL(); |
762 |
517 |
763 /** |
|
764 * Check if ALS line change is possible |
|
765 */ |
|
766 TBool IsAlsLineChangePossible(); |
|
767 |
|
768 /** |
518 /** |
769 * A message handling function for message EPEMessageRemoteBusy |
519 * A message handling function for message EPEMessageRemoteBusy |
770 * @param aCallId a call id |
520 * @param aCallId a call id |
771 */ |
521 */ |
772 void HandleRemoteBusyL( const TInt aCallId ); |
522 void HandleRemoteBusyL( const TInt aCallId ); |
773 |
523 |
774 /** |
524 /** |
775 * Creates caller information. Sets CNAP, phone number, thumbnail image |
|
776 * etc. into the call header parameter. |
|
777 * @param aCallId - Call Id. |
|
778 * @param aCallHeaderData - Call header parameter where modifications |
|
779 * are made. |
|
780 */ |
|
781 void CreateCallerInfoL( const TInt aCallId, |
|
782 TPhoneCmdParamCallHeaderData* aCallHeaderData ); |
|
783 |
|
784 /** |
|
785 * TCleanupOperation to call EndUiUpdate(), if leave occurs |
525 * TCleanupOperation to call EndUiUpdate(), if leave occurs |
786 * after BeginUiUpdate(). |
526 * after BeginUiUpdate(). |
787 */ |
527 */ |
788 static void UiUpdateCleanup(TAny* aThis ); |
528 static void UiUpdateCleanup(TAny* aThis ); |
789 |
529 |
812 * Handles changes in the SIM card state. |
552 * Handles changes in the SIM card state. |
813 */ |
553 */ |
814 void HandleSimStateChangedL(); |
554 void HandleSimStateChangedL(); |
815 |
555 |
816 /* |
556 /* |
817 * Checks is given key contains numeric charaters or if customization is used |
|
818 * alphanumeir letters |
|
819 */ |
|
820 TBool IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent, |
|
821 TEventCode aEventCode ); |
|
822 |
|
823 /* |
|
824 * Checks if keyevent is from dtmf key and sends it to phone-engine |
557 * Checks if keyevent is from dtmf key and sends it to phone-engine |
825 */ |
558 */ |
826 void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent, |
559 void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent, |
827 TEventCode aEventCode ); |
560 TEventCode aEventCode ); |
828 |
|
829 /* |
|
830 * Creates call header manager if needed. |
|
831 */ |
|
832 CPhoneCallHeaderManager* CallheaderManagerL(); |
|
833 |
|
834 /* |
|
835 * Creates number entry content if needed. |
|
836 */ |
|
837 CPhoneNumberEntryManager* NumberEntryManagerL(); |
|
838 |
|
839 /* |
|
840 * Updated Cba when Swivel state changes. |
|
841 */ |
|
842 void UpdateCbaSwivelStateChangedL(); |
|
843 |
561 |
844 /** |
562 /** |
845 * Loads data commonengine stringloader. |
563 * Loads data commonengine stringloader. |
846 * @param aData - The returned data including needed text. |
564 * @param aData - The returned data including needed text. |
847 * @param aResourceId - Resource id for text. |
565 * @param aResourceId - Resource id for text. |
848 */ |
566 */ |
849 void LoadResource( TDes& aData, const TInt aResource ) const; |
567 void LoadResource( TDes& aData, const TInt aResource ) const; |
850 |
568 |
851 |
|
852 protected: // Data |
569 protected: // Data |
853 |
570 |
854 /** |
571 /** |
855 * Reference to State machine |
572 * Reference to State machine |
856 */ |
573 */ |
869 * Not own. |
586 * Not own. |
870 */ |
587 */ |
871 MPhoneCustomization* iCustomization; |
588 MPhoneCustomization* iCustomization; |
872 |
589 |
873 // CBA key manager. Own. |
590 // CBA key manager. Own. |
874 CPhoneCbaManager* iCbaManager; |
591 CPhoneUiCommandManager* iUiCommandManager; |
|
592 |
|
593 // Number entry manager |
|
594 CPhoneNumberEntryManager* iNumberEntryManager; |
|
595 |
875 |
596 |
876 private: |
597 private: |
877 |
598 |
878 /** |
599 // Previously handled SIM card state. |
879 * Previously handled SIM card state. |
|
880 */ |
|
881 TPESimState iPreviousSimState; |
600 TPESimState iPreviousSimState; |
882 |
|
883 // Bitmap redraw counter |
|
884 TInt iBitmapRedrawCounter; |
|
885 |
601 |
886 // Internal variable for EikonEnv to avoid |
602 // Internal variable for EikonEnv to avoid |
887 // use of static system calls |
603 // use of static system calls |
888 CEikonEnv& iEnv; |
604 CEikonEnv* iEnv; // Not owned |
889 |
|
890 // Call header manager. |
|
891 CPhoneCallHeaderManager* iCallHeaderManager; |
|
892 |
|
893 // Number entry manager |
|
894 CPhoneNumberEntryManager* iNumberEntryManager; |
|
895 |
|
896 // RingtoneSilenced flag. |
|
897 // This is used to determine if the ringtone |
|
898 // for incoming call is silenced. The information |
|
899 // is used while updating softkeys in method |
|
900 // UpdateIncomingCbaL only |
|
901 TBool iRingtoneSilenced; |
|
902 |
|
903 /** |
|
904 * Handle to the Operator logo resource. |
|
905 */ |
|
906 TInt iLogoHandle; |
|
907 }; |
605 }; |
908 |
606 |
909 #endif // CPHONESTATE_H |
607 #endif // CPHONESTATE_H |
910 |
608 |
911 // End of File |
609 // End of File |