184 // |
184 // |
185 |
185 |
186 void CSSYOrientation::ConstructL() |
186 void CSSYOrientation::ConstructL() |
187 { |
187 { |
188 iRepository = CRepository::NewL( KCRUidOrientationSsySettings ); |
188 iRepository = CRepository::NewL( KCRUidOrientationSsySettings ); |
189 CreateConfigurations(); |
189 User::LeaveIfError(CreateConfigurations()); |
190 |
190 |
191 #ifdef AUTO_ORIENTAION_TEST |
191 #ifdef AUTO_ORIENTAION_TEST |
192 iCRListener = CSsyOrientationCRListener::NewL( *this, iRepository ); |
192 iCRListener = CSsyOrientationCRListener::NewL( *this, iRepository ); |
193 #endif |
193 #endif |
194 } |
194 } |
1088 |
1088 |
1089 // ---------------------------------------------------------------------------------- |
1089 // ---------------------------------------------------------------------------------- |
1090 // CSSYOrientation::SetConfigurationForState() |
1090 // CSSYOrientation::SetConfigurationForState() |
1091 // ---------------------------------------------------------------------------------- |
1091 // ---------------------------------------------------------------------------------- |
1092 // |
1092 // |
1093 void CSSYOrientation::SetConfigurationForState( |
1093 TInt CSSYOrientation::SetConfigurationForState( |
1094 const TOrientationConfiguration& aConfigurationForState ) |
1094 const TOrientationConfiguration& aConfigurationForState ) |
1095 { |
1095 { |
1096 SSY_TRACE_IN(); |
1096 SSY_TRACE_IN(); |
1097 TBool wasFound( EFalse ); |
1097 TBool wasFound( EFalse ); |
|
1098 TInt retVal( KErrNone ); |
|
1099 |
1098 // Check if is in array |
1100 // Check if is in array |
1099 for( TInt i = 0; i != iConfigArray.Count(); i++ ) |
1101 for( TInt i = 0; i != iConfigArray.Count(); i++ ) |
1100 { |
1102 { |
1101 TOrientationConfiguration ori = iConfigArray[ i ]; |
1103 TOrientationConfiguration ori = iConfigArray[ i ]; |
1102 if( aConfigurationForState.iOrientationState == iConfigArray[ i ].iOrientationState ) |
1104 if( aConfigurationForState.iOrientationState == iConfigArray[ i ].iOrientationState ) |
1103 { |
1105 { |
1104 iConfigArray.Remove( i ); |
1106 iConfigArray.Remove( i ); |
1105 iConfigArray.Insert( aConfigurationForState, i ); |
1107 retVal = iConfigArray.Insert( aConfigurationForState, i ); |
1106 wasFound = ETrue; |
1108 wasFound = ETrue; |
1107 } |
1109 } |
1108 } |
1110 } |
1109 if( !wasFound ) |
1111 if( !wasFound ) |
1110 { |
1112 { |
1111 iConfigArray.Append( aConfigurationForState ); |
1113 retVal = iConfigArray.Append( aConfigurationForState ); |
1112 } |
1114 } |
1113 SSY_TRACE_OUT(); |
1115 |
|
1116 SSY_TRACE_OUT(); |
|
1117 return retVal; |
1114 } |
1118 } |
1115 |
1119 |
1116 // ---------------------------------------------------------------------------------- |
1120 // ---------------------------------------------------------------------------------- |
1117 // CSSYOrientation::GetConfigurationForState() |
1121 // CSSYOrientation::GetConfigurationForState() |
1118 // ---------------------------------------------------------------------------------- |
1122 // ---------------------------------------------------------------------------------- |
1137 |
1141 |
1138 // ---------------------------------------------------------------------------------- |
1142 // ---------------------------------------------------------------------------------- |
1139 // CSSYOrientation::CreteConfigurations() |
1143 // CSSYOrientation::CreteConfigurations() |
1140 // ---------------------------------------------------------------------------------- |
1144 // ---------------------------------------------------------------------------------- |
1141 // |
1145 // |
1142 void CSSYOrientation::CreateConfigurations() |
1146 TInt CSSYOrientation::CreateConfigurations() |
1143 { |
1147 { |
1144 SSY_TRACE_IN(); |
1148 SSY_TRACE_IN(); |
1145 |
1149 |
1146 TInt repValue( 0 ); |
1150 TInt repValue( 0 ); |
|
1151 TInt retVal( KErrNone ); |
1147 |
1152 |
1148 // This is used in initialisation |
1153 // This is used in initialisation |
1149 if( iConfigForCurrentState.iOrientationState == TSensrvOrientationData::EOrientationUndefined ) |
1154 if( iConfigForCurrentState.iOrientationState == TSensrvOrientationData::EOrientationUndefined ) |
1150 { |
1155 { |
1151 iConfigForCurrentState.iOrientationDisplayUp.iAngle = 0; |
1156 iConfigForCurrentState.iOrientationDisplayUp.iAngle = 0; |
1206 |
1211 |
1207 iRepository->Get( KOriStateDisplayUpToDisplayDownwardsTimerKey, repValue ); |
1212 iRepository->Get( KOriStateDisplayUpToDisplayDownwardsTimerKey, repValue ); |
1208 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1213 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1209 configForDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1214 configForDisplayUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1210 |
1215 |
1211 SetConfigurationForState( configForDisplayUp ); |
1216 retVal = SetConfigurationForState( configForDisplayUp ); |
|
1217 if( retVal != KErrNone) |
|
1218 { |
|
1219 SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState(configForDisplayUp)=%d", retVal); |
|
1220 SSY_TRACE_OUT(); |
|
1221 return retVal; |
|
1222 } |
1212 |
1223 |
1213 // Configuration for display down |
1224 // Configuration for display down |
1214 TOrientationConfiguration configForDisplayDown; |
1225 TOrientationConfiguration configForDisplayDown; |
1215 configForDisplayDown.iOrientationState = TSensrvOrientationData::EOrientationDisplayDown; |
1226 configForDisplayDown.iOrientationState = TSensrvOrientationData::EOrientationDisplayDown; |
1216 |
1227 |
1254 configForDisplayDown.iOrientationDisplayDownwards.iAngle = repValue; |
1265 configForDisplayDown.iOrientationDisplayDownwards.iAngle = repValue; |
1255 |
1266 |
1256 iRepository->Get( KOriStateDisplayDownToDisplayDownwardsTimerKey, repValue ); |
1267 iRepository->Get( KOriStateDisplayDownToDisplayDownwardsTimerKey, repValue ); |
1257 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1268 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1258 configForDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1269 configForDisplayDown.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1259 SetConfigurationForState( configForDisplayDown ); |
1270 |
|
1271 retVal = SetConfigurationForState( configForDisplayDown); |
|
1272 if( retVal != KErrNone) |
|
1273 { |
|
1274 SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState(configForDisplayDown)=%d", retVal); |
|
1275 SSY_TRACE_OUT(); |
|
1276 return retVal; |
|
1277 } |
1260 |
1278 |
1261 // Configuration for left up |
1279 // Configuration for left up |
1262 TOrientationConfiguration configForDisplayLeftUp; |
1280 TOrientationConfiguration configForDisplayLeftUp; |
1263 configForDisplayLeftUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayLeftUp; |
1281 configForDisplayLeftUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayLeftUp; |
1264 |
1282 |
1302 configForDisplayLeftUp.iOrientationDisplayDownwards.iAngle = repValue; |
1320 configForDisplayLeftUp.iOrientationDisplayDownwards.iAngle = repValue; |
1303 |
1321 |
1304 iRepository->Get( KOriStateDisplayLeftUpToDisplayDownwardsTimerKey, repValue ); |
1322 iRepository->Get( KOriStateDisplayLeftUpToDisplayDownwardsTimerKey, repValue ); |
1305 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1323 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1306 configForDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1324 configForDisplayLeftUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1307 SetConfigurationForState( configForDisplayLeftUp ); |
1325 |
|
1326 retVal = SetConfigurationForState( configForDisplayLeftUp ); |
|
1327 if( retVal != KErrNone) |
|
1328 { |
|
1329 SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState(configForDisplayLeftUp)=%d", retVal); |
|
1330 SSY_TRACE_OUT(); |
|
1331 return retVal; |
|
1332 } |
1308 |
1333 |
1309 // Configuration for right up |
1334 // Configuration for right up |
1310 TOrientationConfiguration configForDisplayRightUp; |
1335 TOrientationConfiguration configForDisplayRightUp; |
1311 configForDisplayRightUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayRightUp; |
1336 configForDisplayRightUp.iOrientationState = TSensrvOrientationData::EOrientationDisplayRightUp; |
1312 |
1337 |
1350 configForDisplayRightUp.iOrientationDisplayDownwards.iAngle = repValue; |
1375 configForDisplayRightUp.iOrientationDisplayDownwards.iAngle = repValue; |
1351 |
1376 |
1352 iRepository->Get( KOriStateDisplayRightUpToDisplayDownwardsTimerKey, repValue ); |
1377 iRepository->Get( KOriStateDisplayRightUpToDisplayDownwardsTimerKey, repValue ); |
1353 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1378 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1354 configForDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1379 configForDisplayRightUp.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1355 SetConfigurationForState( configForDisplayRightUp ); |
1380 |
|
1381 retVal = SetConfigurationForState( configForDisplayRightUp ); |
|
1382 if( retVal != KErrNone) |
|
1383 { |
|
1384 SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState( configForDisplayRightUp)=%d", retVal); |
|
1385 SSY_TRACE_OUT(); |
|
1386 return retVal; |
|
1387 } |
1356 |
1388 |
1357 // Configuration for upwards |
1389 // Configuration for upwards |
1358 TOrientationConfiguration configForDisplayUpwards; |
1390 TOrientationConfiguration configForDisplayUpwards; |
1359 configForDisplayUpwards.iOrientationState = TSensrvOrientationData::EOrientationDisplayUpwards; |
1391 configForDisplayUpwards.iOrientationState = TSensrvOrientationData::EOrientationDisplayUpwards; |
1360 |
1392 |
1398 configForDisplayUpwards.iOrientationDisplayDownwards.iAngle = repValue; |
1430 configForDisplayUpwards.iOrientationDisplayDownwards.iAngle = repValue; |
1399 |
1431 |
1400 iRepository->Get( KOriStateDisplayUpwardsToDisplayDownwardsTimerKey, repValue ); |
1432 iRepository->Get( KOriStateDisplayUpwardsToDisplayDownwardsTimerKey, repValue ); |
1401 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1433 SSY_TRACE( EExtended, "ORIENTATIONSSY:CreteConfigurations::EOrientationDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds=%d", repValue ); |
1402 configForDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1434 configForDisplayUpwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = repValue; |
1403 SetConfigurationForState( configForDisplayUpwards ); |
1435 |
|
1436 retVal = SetConfigurationForState( configForDisplayUpwards); |
|
1437 if( retVal != KErrNone) |
|
1438 { |
|
1439 SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState( configForDisplayUpwards)=%d", retVal); |
|
1440 SSY_TRACE_OUT(); |
|
1441 return retVal; |
|
1442 } |
1404 |
1443 |
1405 // Configuration for downwards |
1444 // Configuration for downwards |
1406 TOrientationConfiguration configForDisplayDownwards; |
1445 TOrientationConfiguration configForDisplayDownwards; |
1407 configForDisplayDownwards.iOrientationState = |
1446 configForDisplayDownwards.iOrientationState = |
1408 TSensrvOrientationData::EOrientationDisplayDownwards; |
1447 TSensrvOrientationData::EOrientationDisplayDownwards; |
1448 configForDisplayDownwards.iOrientationDisplayUpwards.iTimerValueInMilSeconds = repValue; |
1487 configForDisplayDownwards.iOrientationDisplayUpwards.iTimerValueInMilSeconds = repValue; |
1449 |
1488 |
1450 configForDisplayDownwards.iOrientationDisplayDownwards.iAngle = 0; |
1489 configForDisplayDownwards.iOrientationDisplayDownwards.iAngle = 0; |
1451 configForDisplayDownwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = 0; |
1490 configForDisplayDownwards.iOrientationDisplayDownwards.iTimerValueInMilSeconds = 0; |
1452 |
1491 |
1453 SetConfigurationForState( configForDisplayDownwards ); |
1492 |
|
1493 retVal = SetConfigurationForState( configForDisplayDownwards); |
|
1494 if( retVal != KErrNone) |
|
1495 { |
|
1496 SSY_TRACE( EExtended, "ORIENTATIONSSY:SetConfigurationForState( configForDisplayDownwards)=%d", retVal); |
|
1497 SSY_TRACE_OUT(); |
|
1498 return retVal; |
|
1499 } |
1454 |
1500 |
1455 if( iConfigForCurrentState.iOrientationState != TSensrvOrientationData::EOrientationUndefined ) |
1501 if( iConfigForCurrentState.iOrientationState != TSensrvOrientationData::EOrientationUndefined ) |
1456 { |
1502 { |
1457 GetConfigurationForState( |
1503 GetConfigurationForState( |
1458 iCurrentOrientationState.iDeviceOrientation, iConfigForCurrentState ); |
1504 iCurrentOrientationState.iDeviceOrientation, iConfigForCurrentState ); |
1459 } |
1505 } |
1460 |
1506 |
1461 SSY_TRACE_OUT(); |
1507 SSY_TRACE_OUT(); |
|
1508 return retVal; |
1462 } |
1509 } |
1463 |
1510 |
1464 // ---------------------------------------------------------------------------------- |
1511 // ---------------------------------------------------------------------------------- |
1465 // CSSYOrientation::GetDataListenerInterfaceL() |
1512 // CSSYOrientation::GetDataListenerInterfaceL() |
1466 // ---------------------------------------------------------------------------------- |
1513 // ---------------------------------------------------------------------------------- |