1 package com.cooliris.media;
3 import java.util.ArrayList;
6 import android.util.Log;
8 public final class ConcatenatedDataSource implements DataSource {
9 private static final String TAG = "ConcatenatedDataSource";
10 private final DataSource mFirst;
11 private final DataSource mSecond;
13 public ConcatenatedDataSource(DataSource first, DataSource second) {
18 public void loadMediaSets(final MediaFeed feed) {
19 mFirst.loadMediaSets(feed);
20 mSecond.loadMediaSets(feed);
23 public void loadItemsForSet(final MediaFeed feed, final MediaSet parentSet, int rangeStart, int rangeEnd) {
24 if (parentSet != null) {
25 DataSource dataSource = parentSet.mDataSource;
26 if (dataSource != null) {
27 dataSource.loadItemsForSet(feed, parentSet, rangeStart, rangeEnd);
29 Log.e(TAG, "MediaSet was not added to the feed");
34 public boolean performOperation(int operation, final ArrayList<MediaBucket> mediaBuckets, Object data) {
35 ArrayList<MediaBucket> singleBucket = new ArrayList<MediaBucket>(1);
36 singleBucket.add(null);
37 int numBuckets = mediaBuckets.size();
38 boolean retVal = true;
39 for (int i = 0; i < numBuckets; ++i) { // CR: iterator for
40 MediaBucket bucket = mediaBuckets.get(i);
41 MediaSet set = bucket.mediaSet;
43 DataSource dataSource = set.mDataSource;
44 if (dataSource != null) {
45 singleBucket.set(0, bucket);
46 retVal &= dataSource.performOperation(operation, singleBucket, data);
48 Log.e(TAG, "MediaSet was not added to the feed");
55 public DiskCache getThumbnailCache() {
56 throw new UnsupportedOperationException("ConcatenatedDataSource should not create MediaItems");
59 public void shutdown() {