engines/vmbxengine/src/vmnumber.cpp
branchRCL_3
changeset 17 c58fd5f0c240
parent 13 6bf66e3b8f31
equal deleted inserted replaced
15:13725ba12484 17:c58fd5f0c240
  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 // ----------------------------------------------------------------------------