photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp
branchRCL_3
changeset 24 ea65f74e6de4
parent 23 b023a8d2866a
--- a/photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp	Thu Jul 15 18:39:01 2010 +0300
+++ b/photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp	Thu Aug 19 09:55:03 2010 +0300
@@ -83,18 +83,33 @@
 void GlxThumbnailVariantType::ConstructL( const TGlxMedia& aMedia, const TSize& aSize, 
 		TBool aIsFocused, TInt aTextureId )   
 	{
-
 	TRACER("GlxThumbnailVariantType::ConstructL");    
     GLX_DEBUG2("GlxThumbnailVariantType::ConstructL Media Id=%d", aMedia.Id().Value());
-    
+    TInt err = KErrNone;
+
     if(aTextureId != KErrNotFound)
         {
         mTextureId = aTextureId;
+        GLX_DEBUG1("GlxThumbnailVariantType::ConstructL valid aTextureId");
         return;
         }
     
     iUiUtility = CGlxUiUtility::UtilityL();
+    TSize defaultSize = iUiUtility->GetGridIconSize();
+    TFileName resFile(KDC_APP_BITMAP_DIR);
+	resFile.Append(KGlxIconsFilename);
+
+	const TDesC& uri = aMedia.Uri();
+    GLX_LOG_URI( "GlxThumbnailVariantType::ConstructL(uri=%S)", &uri );
     
+    if (!iUiUtility->GetForegroundStatus() || uri.Length() == 0)
+        {        
+        GLX_DEBUG1("GlxThumbnailVariantType::Create default texture & return");
+        TRAP(err, mTextureId = iUiUtility->GlxTextureManager().CreateIconTextureL(
+                        EMbmGlxiconsQgn_prop_image_notcreated, resFile, defaultSize).Id());
+        return;
+        }
+
     TBool drm = EFalse;
     TGlxMediaGeneralRightsValidity isValid = EGlxDrmRightsValidityUnknown;
 	
@@ -107,47 +122,26 @@
 
 	TBool fsTnmAvailable = HasRelevantThumbnail(aMedia,aSize);    
     
-    TIconInfo icon;
-    
-    TSize defaultSize = iUiUtility->GetGridIconSize();
-    
-    TFileName resFile(KDC_APP_BITMAP_DIR);
-	resFile.Append(KGlxIconsFilename);
-	
 	TInt frameCount = 0;
 	aMedia.GetFrameCount(frameCount);
 	
-	const TDesC& uri = aMedia.Uri();
-    GLX_DEBUG2("GlxThumbnailVariantType::ConstructL() uri.Length()=%d", uri.Length());  
-    
 	TInt thumbnailError = GlxErrorManager::HasAttributeErrorL(
                                 aMedia.Properties(), KGlxMediaIdThumbnail );
                                 	
-	TInt err = KErrNone;
+    TIconInfo icon;
 	TBool expired = EFalse;
   
-    if ( aIsFocused && frameCount > 1 && (fsTnmAvailable) )
+    if (aIsFocused && frameCount > 1 && fsTnmAvailable && !drm)
         {
         GLX_DEBUG1("GlxThumbnailVariantType::CreateAnimatedGifTextureL");
 
-        // If the image is DRM gif, we'll not animate.
-        // Only display the 1st frame. Otherwise animate for normal gif.
-        if (drm)
-            {
-            TRAP( err, mTextureId = iUiUtility->GlxTextureManager().CreateThumbnailTextureL(
-                            aMedia, aMedia.IdSpaceId(), aSize, this ).Id() );
-            }
-        else
-            {
-            TRAP( err, mTextureId = iUiUtility->GlxTextureManager().
-                    CreateAnimatedGifTextureL( uri, aSize, aMedia,
-                            aMedia.IdSpaceId() ).Id() );
-            }
+        TRAP( err, mTextureId = iUiUtility->GlxTextureManager().
+                CreateAnimatedGifTextureL( uri, aSize, aMedia,
+                        aMedia.IdSpaceId() ).Id() );
         }
     //URI length could be zero for Media Id based Thumbnail fetch
     else if ( fsTnmAvailable ) 
 	    {
-        GLX_DEBUG1("GlxThumbnailVariantType::CreateThumbnailTextureL");
         TMPXGeneralCategory cat = aMedia.Category();
         //Check if media is DRM rights protected
         if (drm)
@@ -191,6 +185,7 @@
             //Check If DRM rights have expired.
             if (expired)
                 {
+                GLX_DEBUG1("GlxThumbnailVariantType::CreateIconTextureL:Default (expired)");
                 TRAP( err, mTextureId = iUiUtility->GlxTextureManager().CreateIconTextureL(
                                 EMbmGlxiconsQgn_prop_image_notcreated, resFile, defaultSize ).Id() );
                 }
@@ -200,6 +195,7 @@
                     {
                     // Fix for EABI-7RL9DD
                     // Replaced defaultSize with aSize
+                    GLX_DEBUG1("GlxThumbnailVariantType::CreateThumbnailTextureL:EGlxDrmRightsValid");
                     TRAP( err, mTextureId = iUiUtility->GlxTextureManager().CreateThumbnailTextureL(
                                     aMedia, aMedia.IdSpaceId(), aSize, this ).Id() );
                     }
@@ -208,6 +204,7 @@
             }
         else
             {
+            GLX_DEBUG1("GlxThumbnailVariantType::CreateThumbnailTextureL");
             TRAP( err, mTextureId = iUiUtility->GlxTextureManager().CreateThumbnailTextureL(
                             aMedia, aMedia.IdSpaceId(), aSize, this ).Id() );
             }
@@ -223,8 +220,7 @@
         //show larger (twice) default icon for videos, which has errors
         TSize newSize = defaultSize;
         newSize += defaultSize;
-        GLX_DEBUG1(
-                "GlxThumbnailVariantType::CreateThumbnailTextureL::Default (video)");
+        GLX_DEBUG1("GlxThumbnailVariantType::CreateIconTextureL::Default (video)");
         TRAP(err, mTextureId
                 = iUiUtility->GlxTextureManager().CreateIconTextureL(
                         EMbmGlxiconsQgn_prop_image_notcreated, resFile,
@@ -293,7 +289,7 @@
 TBool GlxThumbnailVariantType::ConsumeRightsBasedOnSize(
                                        TSize aImageSize, TSize aBitmapSize)
     {
-    TRACER("CGlxCommandHandlerDrm::ConsumeRightsBasedOnSize");
+    TRACER("GlxThumbnailVariantType::ConsumeRightsBasedOnSize");
     
     TBool drmRightsChecked = EFalse;
     // minimum size (111 x 83)