summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml3
-rw-r--r--res/values/strings.xml1
-rw-r--r--src/de/podfetcher/activity/DownloadActivity.java22
-rw-r--r--src/de/podfetcher/activity/DownloadLogActivity.java35
-rw-r--r--src/de/podfetcher/adapter/DownloadLogAdapter.java5
-rw-r--r--src/de/podfetcher/feed/FeedManager.java5
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;
+ }
+
}