summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/activity/ItemviewActivity.java
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-07-13 12:23:47 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-07-13 12:23:47 +0200
commitba2d2afbbc6cbb79fc75493703425b5d6d040530 (patch)
treee731a1209160e8224679cb238c0a964c3e757590 /src/de/danoeh/antennapod/activity/ItemviewActivity.java
parent1ae00a0f2531fdb05a44877dda88ee2300e3ffec (diff)
downloadAntennaPod-ba2d2afbbc6cbb79fc75493703425b5d6d040530.zip
Renamed package and application
Diffstat (limited to 'src/de/danoeh/antennapod/activity/ItemviewActivity.java')
-rw-r--r--src/de/danoeh/antennapod/activity/ItemviewActivity.java123
1 files changed, 123 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/activity/ItemviewActivity.java b/src/de/danoeh/antennapod/activity/ItemviewActivity.java
new file mode 100644
index 000000000..2e071134c
--- /dev/null
+++ b/src/de/danoeh/antennapod/activity/ItemviewActivity.java
@@ -0,0 +1,123 @@
+package de.danoeh.antennapod.activity;
+
+import java.text.DateFormat;
+
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentTransaction;
+import android.text.format.DateUtils;
+import android.util.Log;
+import android.widget.TextView;
+
+import com.actionbarsherlock.app.SherlockFragmentActivity;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuInflater;
+import com.actionbarsherlock.view.MenuItem;
+import com.actionbarsherlock.view.Window;
+
+import de.danoeh.antennapod.feed.Feed;
+import de.danoeh.antennapod.feed.FeedItem;
+import de.danoeh.antennapod.feed.FeedManager;
+import de.danoeh.antennapod.fragment.FeedlistFragment;
+import de.danoeh.antennapod.fragment.ItemDescriptionFragment;
+import de.danoeh.antennapod.fragment.ItemlistFragment;
+import de.danoeh.antennapod.util.FeedItemMenuHandler;
+import de.danoeh.antennapod.util.StorageUtils;
+import de.danoeh.antennapod.R;
+
+/** Displays a single FeedItem and provides various actions */
+public class ItemviewActivity extends SherlockFragmentActivity {
+ private static final String TAG = "ItemviewActivity";
+
+ private FeedManager manager;
+ private FeedItem item;
+
+ // Widgets
+ private TextView txtvTitle;
+ private TextView txtvPublished;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ StorageUtils.checkStorageAvailability(this);
+ manager = FeedManager.getInstance();
+ requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
+ getSupportActionBar().setDisplayShowTitleEnabled(false);
+ extractFeeditem();
+ populateUI();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ StorageUtils.checkStorageAvailability(this);
+
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ Log.d(TAG, "Stopping Activity");
+ }
+
+ /** Extracts FeedItem object the activity is supposed to display */
+ private void extractFeeditem() {
+ long itemId = getIntent().getLongExtra(
+ ItemlistFragment.EXTRA_SELECTED_FEEDITEM, -1);
+ long feedId = getIntent().getLongExtra(
+ FeedlistFragment.EXTRA_SELECTED_FEED, -1);
+ if (itemId == -1 || feedId == -1) {
+ Log.e(TAG, "Received invalid selection of either feeditem or feed.");
+ }
+ Feed feed = manager.getFeed(feedId);
+ item = manager.getFeedItem(itemId, feed);
+ Log.d(TAG, "Title of item is " + item.getTitle());
+ Log.d(TAG, "Title of feed is " + item.getFeed().getTitle());
+ }
+
+ private void populateUI() {
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ setContentView(R.layout.feeditemview);
+ txtvTitle = (TextView) findViewById(R.id.txtvItemname);
+ txtvPublished = (TextView) findViewById(R.id.txtvPublished);
+ setTitle(item.getFeed().getTitle());
+
+ txtvPublished.setText(DateUtils.formatSameDayTime(item.getPubDate()
+ .getTime(), System.currentTimeMillis(), DateFormat.MEDIUM,
+ DateFormat.SHORT));
+ txtvTitle.setText(item.getTitle());
+
+ FragmentManager fragmentManager = getSupportFragmentManager();
+ FragmentTransaction fragmentTransaction = fragmentManager
+ .beginTransaction();
+ ItemDescriptionFragment fragment = ItemDescriptionFragment.newInstance(
+ item, false);
+ fragmentTransaction.add(R.id.description_fragment, fragment);
+ fragmentTransaction.commit();
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ return FeedItemMenuHandler.onCreateMenu(new MenuInflater(this), menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem menuItem) {
+ if (!FeedItemMenuHandler.onMenuItemClicked(this, menuItem, item)) {
+ switch (menuItem.getItemId()) {
+ case android.R.id.home:
+ finish();
+ break;
+ }
+ }
+ invalidateOptionsMenu();
+ return true;
+ }
+
+ @Override
+ public boolean onPrepareOptionsMenu(Menu menu) {
+ return FeedItemMenuHandler.onPrepareMenu(menu, item);
+ }
+
+}