Created Activity for viewing items
This commit is contained in:
parent
eb24d41e1d
commit
d3859b6763
|
@ -28,6 +28,7 @@
|
||||||
<activity android:name="de.podfetcher.activity.AddFeedActivity"
|
<activity android:name="de.podfetcher.activity.AddFeedActivity"
|
||||||
android:label="@string/add_new_feed_label"/>
|
android:label="@string/add_new_feed_label"/>
|
||||||
<activity android:name="de.podfetcher.activity.FeedItemlistActivity"/>
|
<activity android:name="de.podfetcher.activity.FeedItemlistActivity"/>
|
||||||
|
<activity android:name="de.podfetcher.activity.ItemviewActivity"/>
|
||||||
|
|
||||||
<service android:enabled="true" android:name="de.podfetcher.service.DownloadService" />
|
<service android:enabled="true" android:name="de.podfetcher.service.DownloadService" />
|
||||||
</application>
|
</application>
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="fill_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/txtvItemname"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/imgvFeedimage"
|
||||||
|
android:layout_height="90dip"
|
||||||
|
android:layout_width="90dip"
|
||||||
|
android:layout_alignParentLeft="true"/>
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_height="fill_parent"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:orientation="vertical">
|
||||||
|
<Button
|
||||||
|
android:id="@+id/butPlay"
|
||||||
|
android:text="@string/play_label"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
<Button
|
||||||
|
android:id="@+id/butDownload"
|
||||||
|
android:text="@string/download_label"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
<Button
|
||||||
|
android:id="@+id/butRemove"
|
||||||
|
android:text="@string/remove_label"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
</LinearLayout>
|
||||||
|
</RelativeLayout>
|
||||||
|
</LinearLayout>
|
|
@ -10,4 +10,10 @@
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<string name="confirm_label">Confirm</string>
|
<string name="confirm_label">Confirm</string>
|
||||||
|
|
||||||
|
<!-- Feeditemview labels-->
|
||||||
|
<string name="download_label">Download</string>
|
||||||
|
<string name="play_label">Play</string>
|
||||||
|
<string name="description_label">Description</string>
|
||||||
|
<string name="remove_label">Remove</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.actionbarsherlock.app.SherlockListActivity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.content.Intent;
|
||||||
import de.podfetcher.feed.*;
|
import de.podfetcher.feed.*;
|
||||||
import de.podfetcher.adapter.FeedItemlistAdapter;
|
import de.podfetcher.adapter.FeedItemlistAdapter;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
@ -11,6 +12,7 @@ import android.util.Log;
|
||||||
/** Displays a List of FeedItems */
|
/** Displays a List of FeedItems */
|
||||||
public class FeedItemlistActivity extends SherlockListActivity {
|
public class FeedItemlistActivity extends SherlockListActivity {
|
||||||
private static final String TAG = "FeedItemlistActivity";
|
private static final String TAG = "FeedItemlistActivity";
|
||||||
|
public static final String EXTRA_SELECTED_FEEDITEM = "extra.de.podfetcher.activity.selected_feeditem";
|
||||||
|
|
||||||
private FeedItemlistAdapter fila;
|
private FeedItemlistAdapter fila;
|
||||||
private FeedManager manager;
|
private FeedManager manager;
|
||||||
|
@ -35,6 +37,11 @@ public class FeedItemlistActivity extends SherlockListActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onListItemClick(ListView l, View v, int position, long id) {
|
protected void onListItemClick(ListView l, View v, int position, long id) {
|
||||||
|
FeedItem selection = fila.getItem(position);
|
||||||
|
Intent showItem = new Intent(this, ItemviewActivity.class);
|
||||||
|
showItem.putExtra(FeedlistActivity.EXTRA_SELECTED_FEED, feed.getId());
|
||||||
|
showItem.putExtra(EXTRA_SELECTED_FEEDITEM, selection.getId());
|
||||||
|
|
||||||
|
startActivity(showItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
package de.podfetcher.activity;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import android.net.Uri;
|
||||||
|
import com.actionbarsherlock.app.SherlockActivity;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.ListView;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import de.podfetcher.feed.*;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import de.podfetcher.R;
|
||||||
|
|
||||||
|
/** Displays a single FeedItem and provides various actions */
|
||||||
|
public class ItemviewActivity extends SherlockActivity {
|
||||||
|
private static final String TAG = "ItemviewActivity";
|
||||||
|
|
||||||
|
private FeedManager manager;
|
||||||
|
private FeedItem item;
|
||||||
|
|
||||||
|
// Widgets
|
||||||
|
private ImageView imgvImage;
|
||||||
|
private TextView txtvTitle;
|
||||||
|
private Button butPlay;
|
||||||
|
private Button butDownload;
|
||||||
|
private Button butRemove;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
manager = FeedManager.getInstance();
|
||||||
|
extractFeeditem();
|
||||||
|
populateUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Extracts FeedItem object the activity is supposed to display */
|
||||||
|
private void extractFeeditem() {
|
||||||
|
long itemId = getIntent().getLongExtra(FeedItemlistActivity.EXTRA_SELECTED_FEEDITEM, -1);
|
||||||
|
long feedId = getIntent().getLongExtra(FeedlistActivity.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);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void populateUI() {
|
||||||
|
setContentView(R.layout.feeditemview);
|
||||||
|
txtvTitle = (TextView) findViewById(R.id.txtvItemname);
|
||||||
|
imgvImage = (ImageView) findViewById(R.id.imgvFeedimage);
|
||||||
|
butPlay = (Button) findViewById(R.id.butPlay);
|
||||||
|
butDownload = (Button) findViewById(R.id.butDownload);
|
||||||
|
butRemove = (Button) findViewById(R.id.butRemove);
|
||||||
|
|
||||||
|
setTitle(item.getFeed().getTitle());
|
||||||
|
|
||||||
|
txtvTitle.setText(item.getTitle());
|
||||||
|
if(item.getFeed().getImage() != null) {
|
||||||
|
imgvImage.setImageURI(Uri.fromFile(new File(item.getFeed().getImage().getFile_url())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -156,6 +156,17 @@ public class FeedManager {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Get a Feed Item by its id and its feed*/
|
||||||
|
public FeedItem getFeedItem(long id, Feed feed) {
|
||||||
|
for(FeedItem item : feed.getItems()) {
|
||||||
|
if(item.getId() == id) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Log.w(TAG, "Couldn't find FeedItem with id " + id);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/** Reads the database */
|
/** Reads the database */
|
||||||
public void loadDBData(Context context) {
|
public void loadDBData(Context context) {
|
||||||
|
|
Loading…
Reference in New Issue