115 PhoneVisibilityHandler::sendToBackground. |
115 PhoneVisibilityHandler::sendToBackground. |
116 */ |
116 */ |
117 void PhoneVisibilityHandler::sendToBackground(bool homeScreenForeground) |
117 void PhoneVisibilityHandler::sendToBackground(bool homeScreenForeground) |
118 { |
118 { |
119 PHONE_TRACE2(": homeScreenForeground =", homeScreenForeground); |
119 PHONE_TRACE2(": homeScreenForeground =", homeScreenForeground); |
|
120 PHONE_TRACE2(": m_carModeEnabled =", m_carModeEnabled); |
|
121 if(m_carModeEnabled) { |
|
122 // Don't bring homescreen to foreground |
|
123 return; |
|
124 } |
120 |
125 |
121 enableKeyGuard(); |
126 enableKeyGuard(); |
122 |
127 |
123 // Send phone back on WSERV stack |
128 // Send phone back on WSERV stack |
124 adjustVisibility(SendToBack); |
129 adjustVisibility(SendToBack); |
232 PHONE_TRACE1(": Skip"); |
237 PHONE_TRACE1(": Skip"); |
233 |
238 |
234 } else if (m_hideDeviceDialogs) { |
239 } else if (m_hideDeviceDialogs) { |
235 PHONE_TRACE1(": Hide dialogs"); |
240 PHONE_TRACE1(": Hide dialogs"); |
236 m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront + 100); |
241 m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront + 100); |
237 |
242 |
238 } else if (m_deviceLockEnabled) { |
243 } else if (m_deviceLockEnabled) { |
239 // critical notes are allowed to show on top of Phone application |
244 // critical notes are allowed to show on top of Phone application |
240 PHONE_TRACE1(": Devicelock"); |
245 PHONE_TRACE1(": Devicelock"); |
241 m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront); |
246 m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront); |
242 |
247 |
243 } else if (BringForwards == action) { |
248 } else if (BringForwards == action) { |
244 // Try to show phone with normal priority |
249 // Try to show phone with normal priority |
245 PHONE_TRACE1(": Bring forward"); |
250 PHONE_TRACE1(": Bring forward"); |
246 m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityNormal); |
251 m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityNormal); |
247 |
252 |
248 } else { |
253 } else { |
249 // Normalize visiblity after ie. device lock |
254 // Normalize visiblity after ie. device lock |
250 PHONE_TRACE1(": Normalize"); |
255 PHONE_TRACE1(": Normalize"); |
251 m_eikonEnv->RootWin().SetOrdinalPosition(ordinalPos, ECoeWinPriorityNormal); |
256 m_eikonEnv->RootWin().SetOrdinalPosition(ordinalPos, ECoeWinPriorityNormal); |
252 |
257 // Flush is needed here, because otherwise launching an application may fail |
|
258 // if done same time with normalization. |
|
259 m_eikonEnv->WsSession().Flush(); |
253 } |
260 } |
254 |
261 |
255 PHONE_TRACE1(": END"); |
262 PHONE_TRACE1(": END"); |
256 } |
263 } |
257 |
264 |