From ba2d2afbbc6cbb79fc75493703425b5d6d040530 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Fri, 13 Jul 2012 12:23:47 +0200 Subject: Renamed package and application --- .../antennapod/activity/ItemviewActivity.java | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 src/de/danoeh/antennapod/activity/ItemviewActivity.java (limited to 'src/de/danoeh/antennapod/activity/ItemviewActivity.java') 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); + } + +} -- cgit v1.2.3