diff options
Diffstat (limited to 'src/de/danoeh')
-rw-r--r-- | src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java | 77 |
1 files changed, 73 insertions, 4 deletions
diff --git a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java index b77921241..8c194f138 100644 --- a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java +++ b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java @@ -1,7 +1,16 @@ package de.danoeh.antennapod.activity; +import java.util.List; + +import android.content.Context; 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.ImageView; +import android.widget.TextView; import com.actionbarsherlock.app.SherlockListActivity; import com.actionbarsherlock.view.Menu; @@ -9,17 +18,25 @@ import com.actionbarsherlock.view.MenuItem; 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; public class OrganizeQueueActivity extends SherlockListActivity { private static final String TAG = "OrganizeQueueActivity"; private static final int MENU_ID_ACCEPT = 2; + + private OrganizeAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { setTheme(PodcastApp.getThemeResourceId()); super.onCreate(savedInstanceState); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + adapter = new OrganizeAdapter(this, 0, FeedManager.getInstance() + .getQueue()); + setListAdapter(adapter); } @Override @@ -37,9 +54,6 @@ public class OrganizeQueueActivity extends SherlockListActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { - case android.R.id.home: - finish(); - return true; case MENU_ID_ACCEPT: finish(); return true; @@ -48,4 +62,59 @@ public class OrganizeQueueActivity extends SherlockListActivity { } } + private static class OrganizeAdapter extends ArrayAdapter<FeedItem> { + + private Context context; + + public OrganizeAdapter(Context context, int textViewResourceId, + List<FeedItem> objects) { + super(context, textViewResourceId, objects); + this.context = context; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + Holder holder; + final FeedItem item = getItem(position); + + if (convertView == null) { + holder = new Holder(); + LayoutInflater inflater = (LayoutInflater) context + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = inflater.inflate( + R.layout.organize_queue_listitem, null); + holder.title = (TextView) convertView + .findViewById(R.id.txtvTitle); + holder.feedTitle = (TextView) convertView + .findViewById(R.id.txtvFeedname); + + holder.feedImage = (ImageView) convertView + .findViewById(R.id.imgvFeedimage); + convertView.setTag(holder); + } else { + holder = (Holder) convertView.getTag(); + } + + holder.title.setText(item.getTitle()); + holder.feedTitle.setText(item.getFeed().getTitle()); + + holder.feedImage.setTag(item.getFeed().getImage()); + FeedImageLoader.getInstance().loadThumbnailBitmap( + item.getFeed().getImage(), + holder.feedImage, + (int) convertView.getResources().getDimension( + R.dimen.thumbnail_length)); + + return convertView; + } + + static class Holder { + TextView title; + TextView feedTitle; + ImageView feedImage; + View dragHandle; + } + + } + } |