summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java23
-rw-r--r--app/src/main/res/layout/queue_fragment.xml29
2 files changed, 45 insertions, 7 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index 46148a214..8e3313db4 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -66,6 +66,7 @@ public class QueueFragment extends Fragment {
EventDistributor.DOWNLOAD_QUEUED |
EventDistributor.PLAYER_STATUS_UPDATE;
+ private TextView statusBar;
private DragSortListView listView;
private QueueListAdapter listAdapter;
private TextView txtvEmpty;
@@ -363,6 +364,7 @@ public class QueueFragment extends Fragment {
((MainActivity) getActivity()).getSupportActionBar().setTitle(R.string.queue_label);
View root = inflater.inflate(R.layout.queue_fragment, container, false);
+ statusBar = (TextView) root.findViewById(R.id.status_bar);
listView = (DragSortListView) root.findViewById(android.R.id.list);
txtvEmpty = (TextView) root.findViewById(android.R.id.empty);
progLoading = (ProgressBar) root.findViewById(R.id.progLoading);
@@ -469,6 +471,27 @@ public class QueueFragment extends Fragment {
// we need to refresh the options menu because it sometimes
// needs data that may have just been loaded.
getActivity().supportInvalidateOptionsMenu();
+
+ // refresh status bar
+ if(queue.size() > 0) {
+ int durationSec = 0;
+ for(FeedItem item : queue) {
+ if(item.getMedia() != null) {
+ durationSec += item.getMedia().getDuration() / 1000;
+ }
+ }
+ String duration = "";
+ if(durationSec > 3600) {
+ duration += durationSec / 3600 + " " + getString(R.string.time_unit_hours) + " "
+ + (durationSec % 3600) / 60 + " " + getString(R.string.time_unit_minutes);
+ } else {
+ duration = durationSec / 60 + " " + getString(R.string.time_unit_minutes);
+ }
+ statusBar.setText(queue.size() + getString(R.string.episodes_suffix) + " \u2022 " + duration);
+ } else {
+ statusBar.setText("0" + getString(R.string.episodes_suffix));
+ }
+
}
private DownloadObserver.Callback downloadObserverCallback = new DownloadObserver.Callback() {
diff --git a/app/src/main/res/layout/queue_fragment.xml b/app/src/main/res/layout/queue_fragment.xml
index 307d95a8d..7e2c64d03 100644
--- a/app/src/main/res/layout/queue_fragment.xml
+++ b/app/src/main/res/layout/queue_fragment.xml
@@ -1,18 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dslv="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
+ <TextView
+ android:id="@+id/status_bar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentTop="true"
+ android:gravity="center"
+ android:text="42 episodes \u2022 5 hours 17 minutes"/>
+
+ <View
+ android:id="@+id/divider"
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_below="@id/status_bar"
+ android:background="?android:attr/listDivider"/>
+
<com.mobeta.android.dslv.DragSortListView
android:id="@android:id/list"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:clipToPadding="false"
- android:paddingBottom="@dimen/list_vertical_padding"
- android:paddingTop="@dimen/list_vertical_padding"
android:scrollbarStyle="outsideOverlay"
+ android:layout_below="@+id/divider"
dslv:collapsed_height="2dp"
dslv:drag_enabled="true"
dslv:drag_handle_id="@id/drag_handle"
@@ -31,7 +45,7 @@
android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_gravity="center"
+ android:layout_centerInParent="true"
android:gravity="center"
android:text="@string/no_items_label" />
@@ -39,12 +53,13 @@
android:id="@+id/progLoading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center"
+ android:layout_centerInParent="true"
android:indeterminateOnly="true"
android:visibility="gone" />
<LinearLayout
android:id="@+id/undobar"
+ android:layout_alignParentBottom="true"
style="@style/UndoBar">
<TextView
@@ -57,4 +72,4 @@
</LinearLayout>
-</FrameLayout>
+</RelativeLayout>