summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorMartin Fietz <marf@hadiko-99-4.hadiko.uni-karlsruhe.de>2015-03-17 12:36:04 +0100
committerMartin Fietz <marf@hadiko-99-4.hadiko.uni-karlsruhe.de>2015-03-17 12:36:04 +0100
commit596462b7a2805748dcae4e80c4ff83200f915d09 (patch)
tree67b67fa7b17b4f1b0ca88053db9a1e30819b94ae /app/src/main
parentd1d0013c674b508c487c9934499a79390c0c8034 (diff)
downloadAntennaPod-596462b7a2805748dcae4e80c4ff83200f915d09.zip
Gpodder categories shows title instead of tag and additionally the usage
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/gpodnet/TagListAdapter.java54
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java12
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java19
-rw-r--r--app/src/main/res/layout/gpodnet_tag_listitem.xml33
4 files changed, 103 insertions, 15 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/gpodnet/TagListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/gpodnet/TagListAdapter.java
new file mode 100644
index 000000000..b4eadefb5
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/gpodnet/TagListAdapter.java
@@ -0,0 +1,54 @@
+package de.danoeh.antennapod.adapter.gpodnet;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.TextView;
+
+import java.util.List;
+
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.gpoddernet.model.GpodnetTag;
+
+/**
+ * Adapter for displaying a list of GPodnetPodcast-Objects.
+ */
+public class TagListAdapter extends ArrayAdapter<GpodnetTag> {
+
+ public TagListAdapter(Context context, int resource, List<GpodnetTag> objects) {
+ super(context, resource, objects);
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ Holder holder;
+
+ GpodnetTag tag = getItem(position);
+
+ // Inflate Layout
+ if (convertView == null) {
+ holder = new Holder();
+ LayoutInflater inflater = (LayoutInflater) getContext()
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+
+ convertView = inflater.inflate(R.layout.gpodnet_tag_listitem, parent, false);
+ holder.title = (TextView) convertView.findViewById(R.id.txtvTitle);
+ holder.usage = (TextView) convertView.findViewById(R.id.txtvUsage);
+ convertView.setTag(holder);
+ } else {
+ holder = (Holder) convertView.getTag();
+ }
+
+ holder.title.setText(tag.getTitle());
+ holder.usage.setText(String.valueOf(tag.getUsage()));
+
+ return convertView;
+ }
+
+ static class Holder {
+ TextView title;
+ TextView usage;
+ }
+}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java
index c8cdbcfed..e2450f03d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java
@@ -24,11 +24,11 @@ public class TagFragment extends PodcastListFragment {
private GpodnetTag tag;
- public static TagFragment newInstance(String tagName) {
- Validate.notNull(tagName);
+ public static TagFragment newInstance(GpodnetTag tag) {
+ Validate.notNull(tag);
TagFragment fragment = new TagFragment();
Bundle args = new Bundle();
- args.putString("tag", tagName);
+ args.putParcelable("tag", tag);
fragment.setArguments(args);
return fragment;
}
@@ -38,14 +38,14 @@ public class TagFragment extends PodcastListFragment {
super.onCreate(savedInstanceState);
Bundle args = getArguments();
- Validate.isTrue(args != null && args.getString("tag") != null, "args invalid");
- tag = new GpodnetTag(args.getString("tag"));
+ Validate.isTrue(args != null && args.getParcelable("tag") != null, "args invalid");
+ tag = args.getParcelable("tag");
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- ((MainActivity) getActivity()).getMainActivtyActionBar().setTitle(tag.getName());
+ ((MainActivity) getActivity()).getMainActivtyActionBar().setTitle(tag.getTitle());
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java
index 24e0e4caa..cc87407b4 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java
@@ -10,14 +10,13 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
import android.widget.TextView;
-import java.util.ArrayList;
import java.util.List;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
+import de.danoeh.antennapod.adapter.gpodnet.TagListAdapter;
import de.danoeh.antennapod.core.gpoddernet.GpodnetService;
import de.danoeh.antennapod.core.gpoddernet.GpodnetServiceException;
import de.danoeh.antennapod.core.gpoddernet.model.GpodnetTag;
@@ -67,9 +66,9 @@ public class TagListFragment extends ListFragment {
getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- String selectedTag = (String) getListAdapter().getItem(position);
+ GpodnetTag tag = (GpodnetTag) getListAdapter().getItem(position);
MainActivity activity = (MainActivity) getActivity();
- activity.loadChildFragment(TagFragment.newInstance(selectedTag));
+ activity.loadChildFragment(TagFragment.newInstance(tag));
}
});
@@ -77,6 +76,12 @@ public class TagListFragment extends ListFragment {
}
@Override
+ public void onResume() {
+ super.onResume();
+ ((MainActivity) getActivity()).getMainActivtyActionBar().setTitle(R.string.add_feed_label);
+ }
+
+ @Override
public void onDestroyView() {
super.onDestroyView();
cancelLoadTask();
@@ -121,11 +126,7 @@ public class TagListFragment extends ListFragment {
final Context context = getActivity();
if (context != null) {
if (gpodnetTags != null) {
- List<String> tagNames = new ArrayList<String>();
- for (GpodnetTag tag : gpodnetTags) {
- tagNames.add(tag.getName());
- }
- setListAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, tagNames));
+ setListAdapter(new TagListAdapter(context, android.R.layout.simple_list_item_1, gpodnetTags));
} else if (exception != null) {
TextView txtvError = new TextView(getActivity());
txtvError.setText(exception.getMessage());
diff --git a/app/src/main/res/layout/gpodnet_tag_listitem.xml b/app/src/main/res/layout/gpodnet_tag_listitem.xml
new file mode 100644
index 000000000..8a4167c34
--- /dev/null
+++ b/app/src/main/res/layout/gpodnet_tag_listitem.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:background="@android:color/darker_gray">
+
+ <TextView
+ android:id="@+id/txtvTitle"
+ style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="@dimen/listitem_threeline_horizontalpadding"
+ android:layout_marginTop="@dimen/listitem_threeline_verticalpadding"
+ android:layout_marginBottom="@dimen/listitem_threeline_verticalpadding"
+ android:lines="1"
+ tools:text="Tag Title"
+ tools:background="@android:color/holo_green_dark" />
+
+ <TextView
+ android:id="@+id/txtvUsage"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_marginRight="@dimen/listitem_threeline_horizontalpadding"
+ android:layout_marginTop="@dimen/listitem_threeline_verticalpadding"
+ android:layout_marginBottom="@dimen/listitem_threeline_verticalpadding"
+ tools:text="301"
+ tools:background="@android:color/holo_green_dark"/>
+
+</RelativeLayout>