iaupdate/IAD/ui/src/iaupdatefirsttimeinfo.cpp
branchRCL_3
changeset 26 8b7f4e561641
parent 25 7333d7932ef7
--- 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 <bautils.h>  // bafl.lib 
 #include <s32file.h>  // 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 );
 	}