4370 if ( ( !( iFlags & KVmFlagSimWriteSupport ) && ( iFlags & KVmFlagSimVmbxNumSupport ) ) |
4370 if ( ( !( iFlags & KVmFlagSimWriteSupport ) && ( iFlags & KVmFlagSimVmbxNumSupport ) ) |
4371 && ( ( aLineNumber == EAlsLine1 && EVmbxPhoneMemory == iMemoryLocation ) || |
4371 && ( ( aLineNumber == EAlsLine1 && EVmbxPhoneMemory == iMemoryLocation ) || |
4372 aLineNumber == EAlsLine2 ) ) |
4372 aLineNumber == EAlsLine2 ) ) |
4373 { |
4373 { |
4374 error = FetchSimNumberBackUp( number, aLineNumber ); |
4374 error = FetchSimNumberBackUp( number, aLineNumber ); |
|
4375 VMBLOGSTRING2( "VMBX: RVmbxNumber:: UseSimNumIfAvailable: number = %S", |
|
4376 &number ); |
4375 if ( KErrNone == error ) |
4377 if ( KErrNone == error ) |
4376 { |
4378 { |
4377 aNumber.Copy( number ); |
4379 aNumber.Copy( number ); |
4378 SaveVmbxNumberToPhone( aNumber, numberEntry ); |
4380 SaveVmbxNumberToPhone( aNumber, numberEntry ); |
4379 VMBLOGSTRING( |
4381 VMBLOGSTRING( |
4417 |
4419 |
4418 TInt inactiveLineNumber( EAlsLine2 ); |
4420 TInt inactiveLineNumber( EAlsLine2 ); |
4419 |
4421 |
4420 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: =>" ); |
4422 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: =>" ); |
4421 |
4423 |
4422 if ( iNumberFromSim.Length() ) |
4424 // backup the number from the SIM card to the backup store. |
4423 { |
4425 if ( !( iFlags & KVmFlagSimWriteSupport ) ) |
4424 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: Sim number found" ); |
4426 { |
4425 // If number found in read only SIM |
4427 if ( aLineNumber == EAlsLine2 ) |
4426 // backup is made |
4428 { |
4427 if ( !( iFlags & KVmFlagSimWriteSupport ) ) |
4429 error = GetVmNumFromSIM( line2number, EAlsLine2Entry ); |
4428 { |
4430 if ( KErrNone == error ) |
4429 if ( aLineNumber == EAlsLine2 ) |
4431 { |
4430 { |
4432 error = BackUpSimNumber( line2number, aLineNumber ); |
4431 error = GetVmNumFromSIM( line2number, EAlsLine2Entry ); |
4433 VMBLOGSTRING2( "VMBX: RVmbxNumber::HandleNumberStores: \ |
4432 if ( KErrNone == error ) |
4434 Back up ALS 2 Sim number, error = %d", error ); |
4433 { |
4435 } |
4434 error = BackUpSimNumber( line2number, aLineNumber ); |
4436 } |
4435 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: Back up ALS 2 Sim number " ); |
4437 else |
4436 } |
4438 { |
4437 } |
4439 error = BackUpSimNumber( iNumberFromSim, aLineNumber ); |
4438 else |
4440 VMBLOGSTRING2( "VMBX: RVmbxNumber::HandleNumberStores: \ |
4439 { |
4441 Back up ALS 1 Sim number, error = %d", error ); |
4440 error = BackUpSimNumber( iNumberFromSim, aLineNumber ); |
4442 } |
4441 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: Back up ALS 1 Sim number" ); |
4443 } |
4442 } |
4444 // If number found in SIM, old stored number is erased if |
4443 } |
4445 // it's not defined by the user or updated via external clients |
4444 // If number found in SIM, old stored number is erased if |
4446 if ( !UserEditNumber( aLineNumber ) && |
4445 // it's not defined by the user or updated via external clients |
4447 !IsPhoneMemForcedEdit( aLineNumber ) ) |
4446 if ( !UserEditNumber( aLineNumber ) && |
4448 { |
4447 !IsPhoneMemForcedEdit( aLineNumber ) ) |
4449 ClearVMBXNumberFromPhone( aLineNumber ); |
4448 { |
4450 // if the number was not edited in inactive line, |
4449 ClearVMBXNumberFromPhone( aLineNumber ); |
4451 // and do clearing opreration. |
4450 // if the number was not edited in inactive line, |
4452 // The old stored number from SIM is erased. |
4451 // and do clearing opreration. |
4453 // otherwise, the edited number was |
4452 // The old stored number from SIM is erased. |
4454 // defined as the inactive line number. |
4453 // otherwise, the edited number was |
4455 // the number should be kept |
4454 // defined as the inactive line number. |
4456 if ( !IsInactiveLineEdited( inactiveLineNumber ) ) |
4455 // the number should be kept |
4457 { |
4456 if ( !IsInactiveLineEdited( inactiveLineNumber ) ) |
4458 ClearVMBXNumberFromPhone( inactiveLineNumber ); |
4457 { |
4459 } |
4458 ClearVMBXNumberFromPhone( inactiveLineNumber ); |
|
4459 } |
|
4460 |
4460 |
4461 VMBLOGSTRING( "[VMBX]: RVmbxNumber::HandleNumberStores: Clear old VMBX number" ); |
4461 VMBLOGSTRING( "[VMBX]: RVmbxNumber::HandleNumberStores: Clear old VMBX number" ); |
4462 } |
4462 } |
4463 } |
4463 |
4464 else |
|
4465 { |
|
4466 // Changing or defining the number from UI (user) not allowed |
|
4467 if ( !UserEditNumber( aLineNumber ) |
|
4468 && !IsPhoneMemForcedEdit( aLineNumber ) ) |
|
4469 { |
|
4470 ClearVMBXNumberFromPhone( aLineNumber ); |
|
4471 if ( !IsInactiveLineEdited( inactiveLineNumber ) ) |
|
4472 { |
|
4473 ClearVMBXNumberFromPhone( inactiveLineNumber ); |
|
4474 } |
|
4475 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: Clear old VMBX number" ); |
|
4476 } |
|
4477 } |
|
4478 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: <=" ); |
4464 VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: <=" ); |
4479 return error; |
4465 return error; |
4480 } |
4466 } |
4481 |
4467 |
4482 // ---------------------------------------------------------------------------- |
4468 // ---------------------------------------------------------------------------- |