summaryrefslogtreecommitdiff
path: root/src/de/podfetcher
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-06-17 12:51:14 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-06-17 12:51:14 +0200
commit5001182aee7bcb3a1f5cacee243d45d8b403ea0f (patch)
treed09c45f9a41814de0714e899e5a4522987b37ef3 /src/de/podfetcher
parent324cbdc86c25f905b2e5e4aa0b5f54b377bee309 (diff)
downloadAntennaPod-5001182aee7bcb3a1f5cacee243d45d8b403ea0f.zip
Feeditems can now be marked as read or unread
Diffstat (limited to 'src/de/podfetcher')
-rw-r--r--src/de/podfetcher/activity/PodfetcherActivity.java61
-rw-r--r--src/de/podfetcher/adapter/FeedItemlistAdapter.java6
-rw-r--r--src/de/podfetcher/fragment/FeedItemlistFragment.java13
3 files changed, 59 insertions, 21 deletions
diff --git a/src/de/podfetcher/activity/PodfetcherActivity.java b/src/de/podfetcher/activity/PodfetcherActivity.java
index ee8eee79d..6487c018b 100644
--- a/src/de/podfetcher/activity/PodfetcherActivity.java
+++ b/src/de/podfetcher/activity/PodfetcherActivity.java
@@ -12,55 +12,74 @@ import com.actionbarsherlock.app.SherlockFragmentActivity;
import de.podfetcher.R;
import de.podfetcher.fragment.FeedlistFragment;
-
-
public class PodfetcherActivity extends SherlockFragmentActivity {
- private static final String TAG = "PodfetcherActivity";
-
+ private static final String TAG = "PodfetcherActivity";
+
private FeedlistFragment feedlist;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
setContentView(R.layout.main);
-
+
// Set up tabs
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(false);
- Tab tab = actionBar.newTab()
+ Tab tab = actionBar
+ .newTab()
.setText(getText(R.string.feeds_label).toString())
- .setTabListener(new TabListener<FeedlistFragment>(
- this, getText(R.string.feeds_label).toString(), FeedlistFragment.class));
-
+ .setTabListener(
+ new TabListener<FeedlistFragment>(this, getText(
+ R.string.feeds_label).toString(),
+ FeedlistFragment.class));
+
actionBar.addTab(tab);
- tab = actionBar.newTab()
+ tab = actionBar
+ .newTab()
.setText(getText(R.string.new_label).toString())
- .setTabListener(new TabListener<FeedlistFragment>(
- this, getText(R.string.new_label).toString(), FeedlistFragment.class));
+ .setTabListener(
+ new TabListener<FeedlistFragment>(this, getText(
+ R.string.new_label).toString(),
+ FeedlistFragment.class));
actionBar.addTab(tab);
- }
-
+ }
/** TabListener for navigating between the main lists. */
- private class TabListener<T extends Fragment> implements ActionBar.TabListener {
+ private class TabListener<T extends Fragment> implements
+ ActionBar.TabListener {
private final Activity activity;
private final String tag;
private final Class<T> fClass;
private Fragment fragment;
-
+ private boolean attachedOnce = false;
+
public TabListener(Activity activity, String tag, Class<T> fClass) {
this.activity = activity;
this.tag = tag;
this.fClass = fClass;
}
+ @SuppressWarnings("unused")
+ public TabListener(Activity activity, String tag, Fragment fragment,
+ Class<T> fClass) {
+ super();
+ this.activity = activity;
+ this.tag = tag;
+ this.fragment = fragment;
+ this.fClass = fClass;
+ }
+
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (fragment == null) {
fragment = Fragment.instantiate(activity, fClass.getName());
ft.replace(R.id.main_fragment, fragment);
+ attachedOnce = true;
+ } else if (!attachedOnce) {
+ ft.replace(R.id.main_fragment, fragment);
+ attachedOnce = true;
} else {
ft.attach(fragment);
}
@@ -73,7 +92,7 @@ public class PodfetcherActivity extends SherlockFragmentActivity {
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
- // Do nothing
+ // Do nothing
}
}
}
diff --git a/src/de/podfetcher/adapter/FeedItemlistAdapter.java b/src/de/podfetcher/adapter/FeedItemlistAdapter.java
index e28a77d1c..975ffc8dc 100644
--- a/src/de/podfetcher/adapter/FeedItemlistAdapter.java
+++ b/src/de/podfetcher/adapter/FeedItemlistAdapter.java
@@ -13,6 +13,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.content.Context;
+import android.graphics.Typeface;
public class FeedItemlistAdapter extends ArrayAdapter<FeedItem> {
private OnClickListener onButActionClicked;
@@ -42,6 +43,11 @@ public class FeedItemlistAdapter extends ArrayAdapter<FeedItem> {
}
holder.title.setText(item.getTitle());
+ if (!item.isRead()) {
+ holder.title.setTypeface(Typeface.DEFAULT_BOLD);
+ } else {
+ holder.title.setTypeface(Typeface.DEFAULT);
+ }
holder.size.setText(Converter.byteToString(item.getMedia().getSize()));
holder.butAction.setOnClickListener(onButActionClicked);
return convertView;
diff --git a/src/de/podfetcher/fragment/FeedItemlistFragment.java b/src/de/podfetcher/fragment/FeedItemlistFragment.java
index caafdccaa..e14da78cd 100644
--- a/src/de/podfetcher/fragment/FeedItemlistFragment.java
+++ b/src/de/podfetcher/fragment/FeedItemlistFragment.java
@@ -119,6 +119,12 @@ public class FeedItemlistFragment extends SherlockListFragment {
} else {
menu.findItem(R.id.cancel_download_item).setVisible(true);
}
+
+ if (selectedItem.isRead()) {
+ menu.findItem(R.id.mark_unread_item).setVisible(true);
+ } else {
+ menu.findItem(R.id.mark_read_item).setVisible(true);
+ }
return true;
@@ -143,8 +149,15 @@ public class FeedItemlistFragment extends SherlockListFragment {
requester.cancelDownload(getSherlockActivity(), selectedItem
.getMedia().getDownloadId());
break;
+ case R.id.mark_read_item:
+ selectedItem.setRead(true);
+ break;
+ case R.id.mark_unread_item:
+ selectedItem.setRead(false);
+ break;
}
+ fila.notifyDataSetChanged();
mode.finish();
return true;
}