diff options
-rw-r--r-- | AndroidManifest.xml | 3 | ||||
-rw-r--r-- | res/values/strings.xml | 1 | ||||
-rw-r--r-- | src/de/podfetcher/activity/DownloadActivity.java | 22 | ||||
-rw-r--r-- | src/de/podfetcher/activity/DownloadLogActivity.java | 35 | ||||
-rw-r--r-- | src/de/podfetcher/adapter/DownloadLogAdapter.java | 5 | ||||
-rw-r--r-- | src/de/podfetcher/feed/FeedManager.java | 5 |
6 files changed, 67 insertions, 4 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 03cfcc572..bba578c35 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -34,6 +34,7 @@ <service android:enabled="true" android:name="de.podfetcher.service.DownloadService" /> <service android:enabled="true" android:name="de.podfetcher.service.PlaybackService" /> - <activity android:name=".activity.PreferenceActivity"></activity> + <activity android:name=".activity.PreferenceActivity"></activity> + <activity android:name=".activity.DownloadLogActivity"></activity> </application> </manifest> diff --git a/res/values/strings.xml b/res/values/strings.xml index 11ab96fff..cfa69d9bd 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -42,4 +42,5 @@ <string name="version_pref">Version</string> <string name="other_pref">Other</string> <string name="about_pref">About</string> + <string name="show_download_log">Show Log</string> </resources> diff --git a/src/de/podfetcher/activity/DownloadActivity.java b/src/de/podfetcher/activity/DownloadActivity.java index 0b22ce561..48adfe995 100644 --- a/src/de/podfetcher/activity/DownloadActivity.java +++ b/src/de/podfetcher/activity/DownloadActivity.java @@ -1,6 +1,7 @@ package de.podfetcher.activity; +import de.podfetcher.R; import de.podfetcher.storage.DownloadRequester; import de.podfetcher.adapter.DownloadlistAdapter; import de.podfetcher.service.DownloadObserver; @@ -8,13 +9,16 @@ import de.podfetcher.service.DownloadStatus; import de.podfetcher.feed.FeedMedia; import de.podfetcher.feed.FeedFile; import com.actionbarsherlock.app.SherlockListActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import android.content.Intent; import android.os.Bundle; import android.util.Log; public class DownloadActivity extends SherlockListActivity { private static final String TAG = "DownloadActivity"; - + private static final int MENU_SHOW_LOG = 0; private DownloadlistAdapter dla; private DownloadRequester requester; @@ -47,4 +51,20 @@ public class DownloadActivity extends SherlockListActivity { } } }; + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + menu.add(Menu.NONE, MENU_SHOW_LOG, Menu.NONE, R.string.show_download_log) + .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case MENU_SHOW_LOG: + startActivity(new Intent(this, DownloadLogActivity.class)); + } + return true; + } } diff --git a/src/de/podfetcher/activity/DownloadLogActivity.java b/src/de/podfetcher/activity/DownloadLogActivity.java new file mode 100644 index 000000000..1347fc0ad --- /dev/null +++ b/src/de/podfetcher/activity/DownloadLogActivity.java @@ -0,0 +1,35 @@ +package de.podfetcher.activity; + +import android.os.Bundle; + +import com.actionbarsherlock.app.SherlockListActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; + +import de.podfetcher.R; +import de.podfetcher.adapter.DownloadLogAdapter; +import de.podfetcher.feed.FeedManager; + +public class DownloadLogActivity extends SherlockListActivity { + private static final String TAG = "DownloadLogActivity"; + + DownloadLogAdapter dla; + FeedManager manager; + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + manager = FeedManager.getInstance(); + + dla = new DownloadLogAdapter(this, 0, manager.getDownloadLog()); + setListAdapter(dla); + } + + + + + + +} diff --git a/src/de/podfetcher/adapter/DownloadLogAdapter.java b/src/de/podfetcher/adapter/DownloadLogAdapter.java index 500d5b3ad..96a5a1688 100644 --- a/src/de/podfetcher/adapter/DownloadLogAdapter.java +++ b/src/de/podfetcher/adapter/DownloadLogAdapter.java @@ -21,9 +21,9 @@ import de.podfetcher.service.DownloadStatus; /** Displays a list of DownloadStatus entries. */ public class DownloadLogAdapter extends ArrayAdapter<DownloadStatus> { - public DownloadLogAdapter(Context context, int resource, + public DownloadLogAdapter(Context context, int textViewResourceId, List<DownloadStatus> objects) { - super(context, resource, textViewResourceId, objects); + super(context, textViewResourceId, objects); } @Override @@ -61,6 +61,7 @@ public class DownloadLogAdapter extends ArrayAdapter<DownloadStatus> { if (status.isSuccessful()) { holder.successful.setTextColor(Color.parseColor("green")); holder.successful.setText("Download succeeded"); + holder.reason.setVisibility(View.GONE); } else { holder.successful.setTextColor(Color.parseColor("red")); holder.successful.setText("Download failed"); diff --git a/src/de/podfetcher/feed/FeedManager.java b/src/de/podfetcher/feed/FeedManager.java index 3d50d0f0e..5c8a2450c 100644 --- a/src/de/podfetcher/feed/FeedManager.java +++ b/src/de/podfetcher/feed/FeedManager.java @@ -273,6 +273,7 @@ public class FeedManager { feeds.clear(); categories.clear(); extractFeedlistFromCursor(context); + extractDownloadLogFromCursor(context); } private void extractFeedlistFromCursor(Context context) { @@ -392,4 +393,8 @@ public class FeedManager { return unreadItems; } + public ArrayList<DownloadStatus> getDownloadLog() { + return downloadLog; + } + } |