浏览代码

Library: fix thumbnail display if app is freshly installed

Felix Paul Kühne 12 年之前
父节点
当前提交
46a5369894
共有 2 个文件被更改,包括 16 次插入6 次删除
  1. 8 3
      AspenProject/VLCPlaylistGridView.m
  2. 8 3
      AspenProject/VLCPlaylistTableViewCell.m

+ 8 - 3
AspenProject/VLCPlaylistGridView.m

@@ -96,18 +96,23 @@
             _thumbnailCacheIndex = [[NSMutableArray alloc] initWithCapacity:MAX_CACHE_SIZE];
 
         NSManagedObjectID *objID = self.mediaObject.objectID;
+        UIImage *displayedImage;
         if ([_thumbnailCacheIndex containsObject:objID]) {
             [_thumbnailCacheIndex removeObject:objID];
             [_thumbnailCacheIndex insertObject:objID atIndex:0];
+            displayedImage = [_thumbnailCache objectForKey:objID];
         } else {
             if (_thumbnailCacheIndex.count >= MAX_CACHE_SIZE) {
                 [_thumbnailCache removeObjectForKey:[_thumbnailCacheIndex lastObject]];
                 [_thumbnailCacheIndex removeLastObject];
             }
-            [_thumbnailCache setObject:self.mediaObject.computedThumbnail forKey:objID];
-            [_thumbnailCacheIndex insertObject:objID atIndex:0];
+            displayedImage = self.mediaObject.computedThumbnail;
+            if (displayedImage) {
+                [_thumbnailCache setObject:self.mediaObject.computedThumbnail forKey:objID];
+                [_thumbnailCacheIndex insertObject:objID atIndex:0];
+            }
         }
-        self.thumbnailView.image = [_thumbnailCache objectForKey:objID];
+        self.thumbnailView.image = displayedImage;
     }
     self.progressView.progress = self.mediaObject.lastPosition.floatValue;
 

+ 8 - 3
AspenProject/VLCPlaylistTableViewCell.m

@@ -81,18 +81,23 @@
             _thumbnailCacheIndex = [[NSMutableArray alloc] initWithCapacity:MAX_CACHE_SIZE];
 
         NSManagedObjectID *objID = self.mediaObject.objectID;
+        UIImage *displayedImage;
         if ([_thumbnailCacheIndex containsObject:objID]) {
             [_thumbnailCacheIndex removeObject:objID];
             [_thumbnailCacheIndex insertObject:objID atIndex:0];
+            displayedImage = [_thumbnailCache objectForKey:objID];
         } else {
             if (_thumbnailCacheIndex.count >= MAX_CACHE_SIZE) {
                 [_thumbnailCache removeObjectForKey:[_thumbnailCacheIndex lastObject]];
                 [_thumbnailCacheIndex removeLastObject];
             }
-            [_thumbnailCache setObject:self.mediaObject.computedThumbnail forKey:objID];
-            [_thumbnailCacheIndex insertObject:objID atIndex:0];
+            displayedImage = self.mediaObject.computedThumbnail;
+            if (displayedImage) {
+                [_thumbnailCache setObject:self.mediaObject.computedThumbnail forKey:objID];
+                [_thumbnailCacheIndex insertObject:objID atIndex:0];
+            }
         }
-        self.thumbnailView.image = [_thumbnailCache objectForKey:objID];
+        self.thumbnailView.image = displayedImage;
     }
     self.progressIndicator.progress = self.mediaObject.lastPosition.floatValue;