diff options
Diffstat (limited to 'core')
28 files changed, 59 insertions, 17 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/PostDownloaderTask.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/PostDownloaderTask.java index 5d2c48679..7c998146d 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/PostDownloaderTask.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/PostDownloaderTask.java @@ -2,6 +2,7 @@ package de.danoeh.antennapod.core.service.download.handler; import de.danoeh.antennapod.core.event.DownloadEvent; import de.danoeh.antennapod.core.service.download.Downloader; +import de.danoeh.antennapod.core.storage.DownloadRequester; import org.greenrobot.eventbus.EventBus; import java.util.ArrayList; @@ -23,6 +24,7 @@ public class PostDownloaderTask implements Runnable { runningDownloads.add(downloader); } } + DownloadRequester.getInstance().updateProgress(downloads); List<Downloader> list = Collections.unmodifiableList(runningDownloads); EventBus.getDefault().postSticky(DownloadEvent.refresh(list)); } diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java index 3d4ee443b..8bd9afe38 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java @@ -12,6 +12,7 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.core.content.ContextCompat; +import de.danoeh.antennapod.core.service.download.Downloader; import org.apache.commons.io.FilenameUtils; import java.io.File; @@ -344,6 +345,16 @@ public class DownloadRequester implements DownloadStateProvider { } /** + * Get the downloader for this item. + */ + public synchronized DownloadRequest getRequestFor(FeedFile item) { + if (isDownloadingFile(item)) { + return downloads.get(item.getDownload_url()); + } + return null; + } + + /** * Checks if feedfile with the given download url is in the downloads list */ public synchronized boolean isDownloadingFile(String downloadUrl) { @@ -428,4 +439,13 @@ public class DownloadRequester implements DownloadStateProvider { } return filename; } + + public void updateProgress(List<Downloader> newDownloads) { + for (Downloader downloader : newDownloads) { + DownloadRequest request = downloader.getDownloadRequest(); + if (downloads.containsKey(request.getSource())) { + downloads.put(request.getSource(), request); + } + } + } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java b/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java index bbe8b26f1..77c8d3b7f 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/FeedSearcher.java @@ -35,11 +35,12 @@ public class FeedSearcher { final List<FeedComponent> result = new ArrayList<>(); try { FutureTask<List<FeedItem>> itemSearchTask = DBTasks.searchFeedItems(context, selectedFeed, query); - FutureTask<List<Feed>> feedSearchTask = DBTasks.searchFeeds(context, query); itemSearchTask.run(); - feedSearchTask.run(); - - result.addAll(feedSearchTask.get()); + if (selectedFeed == 0) { + FutureTask<List<Feed>> feedSearchTask = DBTasks.searchFeeds(context, query); + feedSearchTask.run(); + result.addAll(feedSearchTask.get()); + } result.addAll(itemSearchTask.get()); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/ThemeUtils.java b/core/src/main/java/de/danoeh/antennapod/core/util/ThemeUtils.java index eabaaa828..44b31f0be 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/ThemeUtils.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/ThemeUtils.java @@ -4,6 +4,7 @@ import android.content.Context; import androidx.annotation.AttrRes; import androidx.annotation.ColorInt; import android.util.TypedValue; +import androidx.annotation.DrawableRes; public class ThemeUtils { private ThemeUtils() { @@ -15,4 +16,10 @@ public class ThemeUtils { context.getTheme().resolveAttribute(attr, typedValue, true); return typedValue.data; } + + public static @DrawableRes int getDrawableFromAttr(Context context, @AttrRes int attr) { + TypedValue typedValue = new TypedValue(); + context.getTheme().resolveAttribute(attr, typedValue, true); + return typedValue.resourceId; + } } diff --git a/core/src/main/res/drawable-hdpi/ic_hearing_grey600_18dp.png b/core/src/main/res/drawable-hdpi/ic_hearing_grey600_18dp.png Binary files differdeleted file mode 100644 index 2452cfa92..000000000 --- a/core/src/main/res/drawable-hdpi/ic_hearing_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-hdpi/ic_hearing_white_18dp.png b/core/src/main/res/drawable-hdpi/ic_hearing_white_18dp.png Binary files differdeleted file mode 100644 index 96a06141a..000000000 --- a/core/src/main/res/drawable-hdpi/ic_hearing_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-hdpi/ic_remove_red_eye_grey600_18dp.png b/core/src/main/res/drawable-hdpi/ic_remove_red_eye_grey600_18dp.png Binary files differdeleted file mode 100644 index 4f1af39ab..000000000 --- a/core/src/main/res/drawable-hdpi/ic_remove_red_eye_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-hdpi/ic_remove_red_eye_white_18dp.png b/core/src/main/res/drawable-hdpi/ic_remove_red_eye_white_18dp.png Binary files differdeleted file mode 100644 index abc338d51..000000000 --- a/core/src/main/res/drawable-hdpi/ic_remove_red_eye_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-mdpi/ic_hearing_grey600_18dp.png b/core/src/main/res/drawable-mdpi/ic_hearing_grey600_18dp.png Binary files differdeleted file mode 100644 index ea44e3f07..000000000 --- a/core/src/main/res/drawable-mdpi/ic_hearing_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-mdpi/ic_hearing_white_18dp.png b/core/src/main/res/drawable-mdpi/ic_hearing_white_18dp.png Binary files differdeleted file mode 100644 index 78e98fe8d..000000000 --- a/core/src/main/res/drawable-mdpi/ic_hearing_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-mdpi/ic_remove_red_eye_grey600_18dp.png b/core/src/main/res/drawable-mdpi/ic_remove_red_eye_grey600_18dp.png Binary files differdeleted file mode 100644 index daa8e568e..000000000 --- a/core/src/main/res/drawable-mdpi/ic_remove_red_eye_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-mdpi/ic_remove_red_eye_white_18dp.png b/core/src/main/res/drawable-mdpi/ic_remove_red_eye_white_18dp.png Binary files differdeleted file mode 100644 index a6b4ff0da..000000000 --- a/core/src/main/res/drawable-mdpi/ic_remove_red_eye_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xhdpi/ic_hearing_grey600_18dp.png b/core/src/main/res/drawable-xhdpi/ic_hearing_grey600_18dp.png Binary files differdeleted file mode 100644 index d014684e1..000000000 --- a/core/src/main/res/drawable-xhdpi/ic_hearing_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xhdpi/ic_hearing_white_18dp.png b/core/src/main/res/drawable-xhdpi/ic_hearing_white_18dp.png Binary files differdeleted file mode 100644 index 91adb4437..000000000 --- a/core/src/main/res/drawable-xhdpi/ic_hearing_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xhdpi/ic_remove_red_eye_grey600_18dp.png b/core/src/main/res/drawable-xhdpi/ic_remove_red_eye_grey600_18dp.png Binary files differdeleted file mode 100644 index 2039d9ce8..000000000 --- a/core/src/main/res/drawable-xhdpi/ic_remove_red_eye_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xhdpi/ic_remove_red_eye_white_18dp.png b/core/src/main/res/drawable-xhdpi/ic_remove_red_eye_white_18dp.png Binary files differdeleted file mode 100644 index 6dd240bca..000000000 --- a/core/src/main/res/drawable-xhdpi/ic_remove_red_eye_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xxhdpi/ic_hearing_grey600_18dp.png b/core/src/main/res/drawable-xxhdpi/ic_hearing_grey600_18dp.png Binary files differdeleted file mode 100644 index 19456de04..000000000 --- a/core/src/main/res/drawable-xxhdpi/ic_hearing_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xxhdpi/ic_hearing_white_18dp.png b/core/src/main/res/drawable-xxhdpi/ic_hearing_white_18dp.png Binary files differdeleted file mode 100644 index 82de8bb65..000000000 --- a/core/src/main/res/drawable-xxhdpi/ic_hearing_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xxhdpi/ic_remove_red_eye_grey600_18dp.png b/core/src/main/res/drawable-xxhdpi/ic_remove_red_eye_grey600_18dp.png Binary files differdeleted file mode 100644 index 16cdc31c1..000000000 --- a/core/src/main/res/drawable-xxhdpi/ic_remove_red_eye_grey600_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable-xxhdpi/ic_remove_red_eye_white_18dp.png b/core/src/main/res/drawable-xxhdpi/ic_remove_red_eye_white_18dp.png Binary files differdeleted file mode 100644 index 695eb950e..000000000 --- a/core/src/main/res/drawable-xxhdpi/ic_remove_red_eye_white_18dp.png +++ /dev/null diff --git a/core/src/main/res/drawable/ic_videocam_grey600_24dp.xml b/core/src/main/res/drawable/ic_videocam_grey600_24dp.xml new file mode 100644 index 000000000..40c893883 --- /dev/null +++ b/core/src/main/res/drawable/ic_videocam_grey600_24dp.xml @@ -0,0 +1,8 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:width="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path android:fillColor="#FF757575" + android:pathData="M17,10.5V7c0,-0.55 -0.45,-1 -1,-1H4c-0.55,0 -1,0.45 -1,1v10c0,0.55 0.45,1 1,1h12c0.55,0 1,-0.45 1,-1v-3.5l4,4v-11l-4,4z"/> +</vector> diff --git a/core/src/main/res/drawable/ic_videocam_white_24dp.xml b/core/src/main/res/drawable/ic_videocam_white_24dp.xml new file mode 100644 index 000000000..a8cfd71e3 --- /dev/null +++ b/core/src/main/res/drawable/ic_videocam_white_24dp.xml @@ -0,0 +1,8 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:width="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path android:fillColor="#FFFFFFFF" + android:pathData="M17,10.5V7c0,-0.55 -0.45,-1 -1,-1H4c-0.55,0 -1,0.45 -1,1v10c0,0.55 0.45,1 1,1h12c0.55,0 1,-0.45 1,-1v-3.5l4,4v-11l-4,4z"/> +</vector> diff --git a/core/src/main/res/values-large/dimens.xml b/core/src/main/res/values-large/dimens.xml index 2d107eef0..27e269099 100644 --- a/core/src/main/res/values-large/dimens.xml +++ b/core/src/main/res/values-large/dimens.xml @@ -2,6 +2,4 @@ <resources> <dimen name="thumbnail_length">170dp</dimen> - <dimen name="thumbnail_length_queue_item">64dp</dimen> - <dimen name="thumbnail_length_downloaded_item">64dp</dimen> </resources>
\ No newline at end of file diff --git a/core/src/main/res/values/attrs.xml b/core/src/main/res/values/attrs.xml index 53cf7b211..066594f3d 100644 --- a/core/src/main/res/values/attrs.xml +++ b/core/src/main/res/values/attrs.xml @@ -26,7 +26,6 @@ <attr name="social_share" format="reference"/> <attr name="stat_playlist" format="reference"/> <attr name="ic_folder" format="reference"/> - <attr name="type_audio" format="reference"/> <attr name="type_video" format="reference"/> <attr name="overlay_drawable" format="reference"/> <attr name="dragview_background" format="reference"/> diff --git a/core/src/main/res/values/colors.xml b/core/src/main/res/values/colors.xml index fea7da4a4..b162038cf 100644 --- a/core/src/main/res/values/colors.xml +++ b/core/src/main/res/values/colors.xml @@ -7,8 +7,8 @@ <color name="black">#000000</color> <color name="holo_blue_light">#33B5E5</color> <color name="holo_blue_dark">#0099CC</color> - <color name="download_success_green">#669900</color> - <color name="download_failed_red">#CC0000</color> + <color name="download_success_green">#248800</color> + <color name="download_failed_red">#B00020</color> <color name="status_progress">#E033B5E5</color> <color name="overlay_dark">#2C2C2C</color> <color name="overlay_light">#FFFFFF</color> diff --git a/core/src/main/res/values/dimens.xml b/core/src/main/res/values/dimens.xml index 02c398b62..34cbe1b72 100644 --- a/core/src/main/res/values/dimens.xml +++ b/core/src/main/res/values/dimens.xml @@ -10,8 +10,8 @@ <dimen name="text_size_navdrawer">16sp</dimen> <dimen name="text_size_medium">18sp</dimen> <dimen name="text_size_large">22sp</dimen> - <dimen name="thumbnail_length_itemlist">64dp</dimen> - <dimen name="thumbnail_length_queue_item">64dp</dimen> + <dimen name="thumbnail_length_itemlist">56dp</dimen> + <dimen name="thumbnail_length_queue_item">56dp</dimen> <dimen name="thumbnail_length_downloaded_item">64dp</dimen> <dimen name="thumbnail_length_onlinefeedview">100dp</dimen> <dimen name="feeditemlist_header_height">132dp</dimen> @@ -23,7 +23,7 @@ <dimen name="listitem_threeline_textleftpadding">16dp</dimen> <dimen name="listitem_threeline_textrightpadding">8dp</dimen> - <dimen name="listitem_threeline_verticalpadding">16dp</dimen> + <dimen name="listitem_threeline_verticalpadding">8dp</dimen> <dimen name="listitem_threeline_horizontalpadding">16dp</dimen> <dimen name="list_vertical_padding">8dp</dimen> diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index e5d8247bc..8cb9f7b84 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -102,6 +102,7 @@ <string name="feed_volume_reduction_light">Light</string> <string name="feed_volume_reduction_heavy">Heavy</string> <string name="parallel_downloads_suffix">\u0020parallel downloads</string> + <string name="download_queued">Download queued</string> <string name="feed_auto_download_global">Global default</string> <string name="feed_auto_download_always">Always</string> <string name="feed_auto_download_never">Never</string> diff --git a/core/src/main/res/values/styles.xml b/core/src/main/res/values/styles.xml index 5656ca0e9..33b736089 100644 --- a/core/src/main/res/values/styles.xml +++ b/core/src/main/res/values/styles.xml @@ -38,8 +38,7 @@ <item name="navigation_up">@drawable/navigation_up</item> <item name="social_share">@drawable/ic_share_grey600_24dp</item> <item name="stat_playlist">@drawable/ic_list_grey600_24dp</item> - <item name="type_audio">@drawable/ic_hearing_grey600_18dp</item> - <item name="type_video">@drawable/ic_remove_red_eye_grey600_18dp</item> + <item name="type_video">@drawable/ic_videocam_grey600_24dp</item> <item name="non_transparent_background">@color/white</item> <item name="overlay_background">@color/overlay_light</item> <item name="overlay_drawable">@drawable/overlay_drawable</item> @@ -127,8 +126,7 @@ <item name="navigation_up">@drawable/navigation_up_dark</item> <item name="social_share">@drawable/ic_share_white_24dp</item> <item name="stat_playlist">@drawable/ic_list_white_24dp</item> - <item name="type_audio">@drawable/ic_hearing_white_18dp</item> - <item name="type_video">@drawable/ic_remove_red_eye_white_18dp</item> + <item name="type_video">@drawable/ic_videocam_white_24dp</item> <item name="non_transparent_background">@color/black</item> <item name="overlay_background">@color/overlay_dark</item> <item name="overlay_drawable">@drawable/overlay_drawable_dark</item> @@ -291,7 +289,7 @@ <style name="AntennaPod.TextView.ListItemPrimaryTitle" parent="@android:style/TextAppearance.Small"> <item name="android:textSize">16sp</item> <item name="android:textColor">?android:attr/textColorPrimary</item> - <item name="android:lines">2</item> + <item name="android:maxLines">2</item> <item name="android:ellipsize">end</item> </style> |