diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2013-03-06 21:04:05 +0100 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2013-03-06 21:04:05 +0100 |
commit | b3a250c766253da57a917814a6f60e44f616e938 (patch) | |
tree | d26aec2b75fa0fa0117499110a7650317930b64b /src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java | |
parent | ec1992f36c5bf1916ebaed8196705b2324486388 (diff) | |
parent | 7fe0e05304b5683d3a3cc0ba5a1938f73ffd54de (diff) | |
download | AntennaPod-b3a250c766253da57a917814a6f60e44f616e938.zip |
Merge branch 'apichanges' into develop
Diffstat (limited to 'src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java')
-rw-r--r-- | src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java | 66 |
1 files changed, 36 insertions, 30 deletions
diff --git a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java index a7017d2fb..56e42f79f 100644 --- a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java +++ b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java @@ -1,17 +1,12 @@ package de.danoeh.antennapod.activity; -import java.util.List; - -import android.content.BroadcastReceiver; import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; import android.content.res.TypedArray; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.ArrayAdapter; +import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; @@ -20,11 +15,12 @@ import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import com.mobeta.android.dslv.DragSortListView; -import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; -import de.danoeh.antennapod.asynctask.FeedImageLoader; +import de.danoeh.antennapod.asynctask.ImageLoader; +import de.danoeh.antennapod.feed.EventDistributor; import de.danoeh.antennapod.feed.FeedItem; import de.danoeh.antennapod.feed.FeedManager; +import de.danoeh.antennapod.preferences.UserPreferences; public class OrganizeQueueActivity extends SherlockListActivity { private static final String TAG = "OrganizeQueueActivity"; @@ -35,7 +31,7 @@ public class OrganizeQueueActivity extends SherlockListActivity { @Override protected void onCreate(Bundle savedInstanceState) { - setTheme(PodcastApp.getThemeResourceId()); + setTheme(UserPreferences.getTheme()); super.onCreate(savedInstanceState); setContentView(R.layout.organize_queue); @@ -43,38 +39,32 @@ public class OrganizeQueueActivity extends SherlockListActivity { listView.setDropListener(dropListener); listView.setRemoveListener(removeListener); - adapter = new OrganizeAdapter(this, 0, FeedManager.getInstance() - .getQueue()); + adapter = new OrganizeAdapter(this); setListAdapter(adapter); } @Override protected void onPause() { super.onPause(); - try { - unregisterReceiver(contentUpdate); - } catch (IllegalArgumentException e) { - - } + EventDistributor.getInstance().unregister(contentUpdate); } @Override protected void onResume() { super.onResume(); - IntentFilter filter = new IntentFilter(FeedManager.ACTION_QUEUE_UPDATE); - filter.addAction(FeedManager.ACTION_FEED_LIST_UPDATE); - registerReceiver(contentUpdate, filter); + EventDistributor.getInstance().register(contentUpdate); } - private BroadcastReceiver contentUpdate = new BroadcastReceiver() { + private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() { @Override - public void onReceive(Context context, Intent intent) { - if (adapter != null) { - adapter.notifyDataSetChanged(); + public void update(EventDistributor eventDistributor, Integer arg) { + if (((EventDistributor.QUEUE_UPDATE | EventDistributor.FEED_LIST_UPDATE) & arg) != 0) { + if (adapter != null) { + adapter.notifyDataSetChanged(); + } } } - }; private DragSortListView.DropListener dropListener = new DragSortListView.DropListener() { @@ -120,13 +110,12 @@ public class OrganizeQueueActivity extends SherlockListActivity { } } - private static class OrganizeAdapter extends ArrayAdapter<FeedItem> { + private static class OrganizeAdapter extends BaseAdapter { private Context context; - public OrganizeAdapter(Context context, int textViewResourceId, - List<FeedItem> objects) { - super(context, textViewResourceId, objects); + public OrganizeAdapter(Context context) { + super(); this.context = context; } @@ -156,8 +145,9 @@ public class OrganizeQueueActivity extends SherlockListActivity { holder.title.setText(item.getTitle()); holder.feedTitle.setText(item.getFeed().getTitle()); - holder.feedImage.setTag(item.getFeed().getImage()); - FeedImageLoader.getInstance().loadThumbnailBitmap( + holder.feedImage.setTag((item.getFeed().getImage() != null) ? item + .getFeed().getImage().getFile_url() : null); + ImageLoader.getInstance().loadThumbnailBitmap( item.getFeed().getImage(), holder.feedImage, (int) convertView.getResources().getDimension( @@ -172,6 +162,22 @@ public class OrganizeQueueActivity extends SherlockListActivity { ImageView feedImage; } + @Override + public int getCount() { + return FeedManager.getInstance().getQueueSize(true); + } + + @Override + public FeedItem getItem(int position) { + return FeedManager.getInstance() + .getQueueItemAtIndex(position, true); + } + + @Override + public long getItemId(int position) { + return position; + } + } } |