From 56f199dc8c69d7e24d0e05613f9911c323cb46a6 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Sun, 24 Feb 2013 10:46:10 +0100 Subject: Added UserPreferences class, limit access to unreadItems and queue --- .../antennapod/activity/OrganizeQueueActivity.java | 33 ++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java') diff --git a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java index a7017d2fb..ec869ea32 100644 --- a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java +++ b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java @@ -1,7 +1,5 @@ package de.danoeh.antennapod.activity; -import java.util.List; - import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -11,7 +9,7 @@ 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 +18,11 @@ 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.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 +33,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,8 +41,7 @@ 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); } @@ -120,13 +117,12 @@ public class OrganizeQueueActivity extends SherlockListActivity { } } - private static class OrganizeAdapter extends ArrayAdapter { + private static class OrganizeAdapter extends BaseAdapter { private Context context; - public OrganizeAdapter(Context context, int textViewResourceId, - List objects) { - super(context, textViewResourceId, objects); + public OrganizeAdapter(Context context) { + super(); this.context = context; } @@ -172,6 +168,21 @@ 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; + } + } } -- cgit v1.2.3 From 955d296638b240d8bbf4be8cce4b27485ac4c517 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Mon, 25 Feb 2013 10:47:37 +0100 Subject: Implemented EventDistributor --- .../antennapod/activity/OrganizeQueueActivity.java | 27 ++++++++-------------- 1 file changed, 10 insertions(+), 17 deletions(-) (limited to 'src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java') diff --git a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java index ec869ea32..26abdc23e 100644 --- a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java +++ b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java @@ -1,9 +1,6 @@ package de.danoeh.antennapod.activity; -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; @@ -20,6 +17,7 @@ import com.mobeta.android.dslv.DragSortListView; import de.danoeh.antennapod.R; import de.danoeh.antennapod.asynctask.FeedImageLoader; +import de.danoeh.antennapod.feed.EventDistributor; import de.danoeh.antennapod.feed.FeedItem; import de.danoeh.antennapod.feed.FeedManager; import de.danoeh.antennapod.preferences.UserPreferences; @@ -48,30 +46,25 @@ public class OrganizeQueueActivity extends SherlockListActivity { @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() { -- cgit v1.2.3 From 56db791e7d6c36d3f11a92422526f6ec8d516db2 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Mon, 25 Feb 2013 18:15:02 +0100 Subject: FeedImageLoader now works independently from FeedImages --- src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java') diff --git a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java index 26abdc23e..3eea78598 100644 --- a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java +++ b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java @@ -16,7 +16,7 @@ import com.actionbarsherlock.view.MenuItem; import com.mobeta.android.dslv.DragSortListView; 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; @@ -146,7 +146,7 @@ public class OrganizeQueueActivity extends SherlockListActivity { holder.feedTitle.setText(item.getFeed().getTitle()); holder.feedImage.setTag(item.getFeed().getImage()); - FeedImageLoader.getInstance().loadThumbnailBitmap( + ImageLoader.getInstance().loadThumbnailBitmap( item.getFeed().getImage(), holder.feedImage, (int) convertView.getResources().getDimension( -- cgit v1.2.3 From 9cd870c6eebf558d789055e16da4e44dff5d0f0d Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Mon, 25 Feb 2013 20:54:55 +0100 Subject: ImageView tags weren't set correctly --- src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java') diff --git a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java index 3eea78598..56e42f79f 100644 --- a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java +++ b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java @@ -56,7 +56,7 @@ public class OrganizeQueueActivity extends SherlockListActivity { } private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() { - + @Override public void update(EventDistributor eventDistributor, Integer arg) { if (((EventDistributor.QUEUE_UPDATE | EventDistributor.FEED_LIST_UPDATE) & arg) != 0) { @@ -145,7 +145,8 @@ public class OrganizeQueueActivity extends SherlockListActivity { holder.title.setText(item.getTitle()); holder.feedTitle.setText(item.getFeed().getTitle()); - holder.feedImage.setTag(item.getFeed().getImage()); + holder.feedImage.setTag((item.getFeed().getImage() != null) ? item + .getFeed().getImage().getFile_url() : null); ImageLoader.getInstance().loadThumbnailBitmap( item.getFeed().getImage(), holder.feedImage, @@ -168,7 +169,8 @@ public class OrganizeQueueActivity extends SherlockListActivity { @Override public FeedItem getItem(int position) { - return FeedManager.getInstance().getQueueItemAtIndex(position, true); + return FeedManager.getInstance() + .getQueueItemAtIndex(position, true); } @Override -- cgit v1.2.3