summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-02-06 22:51:58 +0100
committerByteHamster <info@bytehamster.com>2020-02-06 22:51:58 +0100
commit7ec9b00e8b080df831adeafdccf3633a26de1836 (patch)
tree35bd7389e0d33d5e300eebb980a654c6985f4120 /app/src/main/java/de/danoeh/antennapod/adapter
parent24a51062e0c59b5ef2acea42d7536209254a37a1 (diff)
downloadAntennaPod-7ec9b00e8b080df831adeafdccf3633a26de1836.zip
Updated running downloads list
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java73
1 files changed, 36 insertions, 37 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java
index b0ee87b7e..fd9b76b9c 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java
@@ -5,23 +5,25 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
-import android.widget.ImageButton;
-import android.widget.ProgressBar;
+import android.widget.ImageView;
import android.widget.TextView;
import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.feed.Feed;
+import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.service.download.DownloadRequest;
import de.danoeh.antennapod.core.service.download.DownloadStatus;
import de.danoeh.antennapod.core.service.download.Downloader;
import de.danoeh.antennapod.core.util.Converter;
+import de.danoeh.antennapod.core.util.ThemeUtils;
+import de.danoeh.antennapod.view.CircularProgressBar;
public class DownloadlistAdapter extends BaseAdapter {
private final ItemAccess itemAccess;
private final Context context;
- public DownloadlistAdapter(Context context,
- ItemAccess itemAccess) {
+ public DownloadlistAdapter(Context context, ItemAccess itemAccess) {
super();
this.context = context;
this.itemAccess = itemAccess;
@@ -47,47 +49,44 @@ public class DownloadlistAdapter extends BaseAdapter {
Holder holder;
Downloader downloader = getItem(position);
DownloadRequest request = downloader.getDownloadRequest();
- // Inflate layout
if (convertView == null) {
holder = new Holder();
- LayoutInflater inflater = (LayoutInflater) context
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.downloadlist_item, parent, false);
holder.title = convertView.findViewById(R.id.txtvTitle);
- holder.downloaded = convertView
- .findViewById(R.id.txtvDownloaded);
- holder.percent = convertView
- .findViewById(R.id.txtvPercent);
- holder.progbar = convertView
- .findViewById(R.id.progProgress);
- holder.butSecondary = convertView
- .findViewById(R.id.butSecondaryAction);
-
+ holder.status = convertView.findViewById(R.id.txtvStatus);
+ holder.secondaryActionButton = convertView.findViewById(R.id.secondaryActionButton);
+ holder.secondaryActionIcon = convertView.findViewById(R.id.secondaryActionIcon);
+ holder.secondaryActionProgress = convertView.findViewById(R.id.secondaryActionProgress);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
holder.title.setText(request.getTitle());
-
- holder.progbar.setIndeterminate(request.getSoFar() <= 0);
-
- String strDownloaded = Converter.byteToString(request.getSoFar());
- if (request.getSize() != DownloadStatus.SIZE_UNKNOWN) {
- strDownloaded += " / " + Converter.byteToString(request.getSize());
- holder.percent.setText(request.getProgressPercent() + "%");
- holder.progbar.setProgress(request.getProgressPercent());
- holder.percent.setVisibility(View.VISIBLE);
+ holder.secondaryActionIcon.setImageResource(ThemeUtils.getDrawableFromAttr(context, R.attr.navigation_cancel));
+ holder.secondaryActionButton.setTag(downloader);
+ holder.secondaryActionButton.setOnClickListener(butSecondaryListener);
+ holder.secondaryActionProgress.setPercentage(0, request);
+
+ String status = "";
+ if (request.getFeedfileType() == Feed.FEEDFILETYPE_FEED) {
+ status += context.getString(R.string.download_type_feed);
+ } else if (request.getFeedfileType() == FeedMedia.FEEDFILETYPE_FEEDMEDIA) {
+ status += context.getString(R.string.download_type_media);
+ }
+ status += " ยท ";
+ if (request.getSoFar() <= 0) {
+ status += context.getString(R.string.download_queued);
} else {
- holder.progbar.setProgress(0);
- holder.percent.setVisibility(View.INVISIBLE);
+ status += Converter.byteToString(request.getSoFar());
+ if (request.getSize() != DownloadStatus.SIZE_UNKNOWN) {
+ status += " / " + Converter.byteToString(request.getSize());
+ holder.secondaryActionProgress.setPercentage(
+ 0.01f * Math.max(1, request.getProgressPercent()), request);
+ }
}
-
- holder.downloaded.setText(strDownloaded);
-
- holder.butSecondary.setFocusable(false);
- holder.butSecondary.setTag(downloader);
- holder.butSecondary.setOnClickListener(butSecondaryListener);
+ holder.status.setText(status);
return convertView;
}
@@ -102,10 +101,10 @@ public class DownloadlistAdapter extends BaseAdapter {
static class Holder {
TextView title;
- TextView downloaded;
- TextView percent;
- ProgressBar progbar;
- ImageButton butSecondary;
+ TextView status;
+ View secondaryActionButton;
+ ImageView secondaryActionIcon;
+ CircularProgressBar secondaryActionProgress;
}
public interface ItemAccess {