packages/apps/Gallery2
修订版 | 3e831301ef16f48137556095e7443b271b8f9ab1 (tree) |
---|---|
时间 | 2010-02-19 00:51:33 |
作者 | Dave Sparks <davidsparks@andr...> |
Commiter | Dave Sparks |
Temporary hack to make images show in gallery. Bug 2417823.
@@ -1012,6 +1012,14 @@ public final class CacheService extends IntentService { | ||
1012 | 1012 | } |
1013 | 1013 | Log.i(TAG, "Refreshing dirty albums"); |
1014 | 1014 | populateMediaItemsForSets(context, sets, acceleratedSets, true); |
1015 | + // Logic to refresh the UI for dirty sets | |
1016 | + if (context instanceof Gallery) { | |
1017 | + int numSets = sets.size(); | |
1018 | + for (int i = 0; i < numSets; ++i) { | |
1019 | + MediaSet set = sets.get(i); | |
1020 | + ((Gallery)context).refreshUIForSet(set); | |
1021 | + } | |
1022 | + } | |
1015 | 1023 | } |
1016 | 1024 | } |
1017 | 1025 | sAlbumCache.delete(ALBUM_CACHE_DIRTY_BUCKET_INDEX); |
@@ -438,4 +438,21 @@ public final class Gallery extends Activity { | ||
438 | 438 | setResult(RESULT_OK, result); |
439 | 439 | finish(); |
440 | 440 | } |
441 | + | |
442 | + public void refreshUIForSet(MediaSet set) { | |
443 | + if (mGridLayer != null) { | |
444 | + final MediaFeed feed = mGridLayer.getFeed(); | |
445 | + if (feed != null) { | |
446 | + final MediaSet currentSet = feed.getMediaSet(set.mId); | |
447 | + if (currentSet != null) { | |
448 | + // We need to refresh the UI with this set if the number of items have changed | |
449 | + if (currentSet.getNumItems() != set.getNumItems() || currentSet.mMaxAddedTimestamp != set.mMaxAddedTimestamp) { | |
450 | + final MediaSet newSet = feed.replaceMediaSet(set.mId, currentSet.mDataSource); | |
451 | + newSet.mName = currentSet.mName; | |
452 | + newSet.generateTitle(true); | |
453 | + } | |
454 | + } | |
455 | + } | |
456 | + } | |
457 | + } | |
441 | 458 | } |