diff -r 7333d7932ef7 -r 8b7f4e561641 iaupdate/IAD/ui/src/iaupdatefirsttimeinfo.cpp --- a/iaupdate/IAD/ui/src/iaupdatefirsttimeinfo.cpp Tue Aug 31 15:21:33 2010 +0300 +++ b/iaupdate/IAD/ui/src/iaupdatefirsttimeinfo.cpp Wed Sep 01 12:22:02 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -20,6 +20,7 @@ //INCLUDES #include "iaupdatefirsttimeinfo.h" +#include "iaupdatefirsttimedatefile.h" #include // bafl.lib #include // estor.lib @@ -107,8 +108,19 @@ iAgreementAccepted = ETrue; WriteDataL(); } - - + +// --------------------------------------------------------------------------- +// CIAUpdateFirstTimeInfo::SetAgreementAskedL +// Set Nokia agreement as asked (prompted) to an user +// --------------------------------------------------------------------------- +// +void CIAUpdateFirstTimeInfo::SetAgreementAskedL() + { + ReadDataL(); + iAgreementAsked = ETrue; + WriteDataL(); + } + // --------------------------------------------------------------------------- // CIAUpdateFirstTimeInfo::SetAutomaticUpdatesAskedL // Set automatic update checks as prompted to an use @@ -120,6 +132,26 @@ iAutomaticUpdateChecksAsked = ETrue; WriteDataL(); } + +// --------------------------------------------------------------------------- +// CIAUpdateFirstTimeInfo::SetFirstTimeIfNotSetL +// +// --------------------------------------------------------------------------- +// +void CIAUpdateFirstTimeInfo::SetFirstTimeIfNotSetL() + { + if ( !AutomaticUpdateChecksAskedL() ) + { + CIAUpdateFirstTimeDateFile* firstTimeDateFile = + CIAUpdateFirstTimeDateFile::NewLC( KIAUpdateFirstTimeDateFile ); + if ( firstTimeDateFile->FirstTime().Int64() == 0 ) + { + firstTimeDateFile->SetCurrentFirstTime(); + firstTimeDateFile->WriteDataL(); + } + CleanupStack::PopAndDestroy( firstTimeDateFile ); + } + } // --------------------------------------------------------------------------- // CIAUpdateFirstTimeInfo::AgreementAcceptedL @@ -132,6 +164,18 @@ return iAgreementAccepted; } + +// --------------------------------------------------------------------------- +// CIAUpdateFirstTimeInfo::AgreementAskedL +// Is Nokia agreement of Application Update already asked +// --------------------------------------------------------------------------- +// +TBool CIAUpdateFirstTimeInfo::AgreementAskedL() + { + ReadDataL(); + return iAgreementAsked; + } + // --------------------------------------------------------------------------- // CIAUpdateFirstTimeInfo::AutomaticUpdateChecksAskedL // Is activation for automatic update cheks from network already asked @@ -143,6 +187,37 @@ return iAutomaticUpdateChecksAsked; } +// --------------------------------------------------------------------------- +// CIAUpdateFirstTimeInfo::FirstTimeDelayL +// +// --------------------------------------------------------------------------- +// +TBool CIAUpdateFirstTimeInfo::FirstTimeDelayL() + { + TBool firstTimeDelay = EFalse; + if ( !AutomaticUpdateChecksAskedL() ) + { + CIAUpdateFirstTimeDateFile* firstTimeDateFile = + CIAUpdateFirstTimeDateFile::NewL( KIAUpdateFirstTimeDateFile ); + + TTime firstTime( firstTimeDateFile->FirstTime() ); + + delete firstTimeDateFile; + + TTime expireTime( firstTime ); + + expireTime += KFirstTimeDelayInDays; + + TTime universalTime; + universalTime.UniversalTime(); + + if ( universalTime < expireTime && universalTime >= firstTime ) + { + firstTimeDelay = ETrue; + } + } + return firstTimeDelay; + } // ----------------------------------------------------------------------------- // CIAUpdateFirstTimeInfo::ReadDataL @@ -156,6 +231,7 @@ if ( err == KErrNotFound ) { iAgreementAccepted = EFalse; + iAgreementAsked = EFalse; iAutomaticUpdateChecksAsked = EFalse; } else @@ -206,6 +282,7 @@ void CIAUpdateFirstTimeInfo::InternalizeL( RReadStream& aStream ) { iAgreementAccepted = aStream.ReadInt32L(); + iAgreementAsked = aStream.ReadInt32L(); iAutomaticUpdateChecksAsked = aStream.ReadInt32L(); } @@ -218,6 +295,7 @@ void CIAUpdateFirstTimeInfo::ExternalizeL( RWriteStream& aStream ) { aStream.WriteInt32L( iAgreementAccepted ); + aStream.WriteInt32L( iAgreementAsked ); aStream.WriteInt32L( iAutomaticUpdateChecksAsked ); }