From 4f84ceff734889748dc9d846bdf117db5fac4dce Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Fri, 3 Jul 2015 18:21:20 +0200 Subject: Determine media file size if feed doesn't report it correctly --- app/src/main/java/de/danoeh/antennapod/PodcastApp.java | 4 ++++ .../java/de/danoeh/antennapod/adapter/AdapterUtils.java | 15 ++++++++------- .../de/danoeh/antennapod/adapter/QueueListAdapter.java | 6 +++++- 3 files changed, 17 insertions(+), 8 deletions(-) (limited to 'app') diff --git a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java index f79ac49ed..4b709ab74 100644 --- a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java +++ b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java @@ -1,12 +1,14 @@ package de.danoeh.antennapod; import android.app.Application; +import android.content.Intent; import android.content.res.Configuration; import de.danoeh.antennapod.core.asynctask.PicassoProvider; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.preferences.PlaybackPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences; +import de.danoeh.antennapod.core.service.FeedMediaSizeService; import de.danoeh.antennapod.spa.SPAUtil; /** Main application class. */ @@ -43,6 +45,8 @@ public class PodcastApp extends Application { EventDistributor.getInstance(); SPAUtil.sendSPAppsQueryFeedsIntent(this); + + startService(new Intent(this, FeedMediaSizeService.class)); } public static float getLogicalDensity() { diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AdapterUtils.java b/app/src/main/java/de/danoeh/antennapod/adapter/AdapterUtils.java index e22b31361..d3ee08546 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/AdapterUtils.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/AdapterUtils.java @@ -36,18 +36,19 @@ public class AdapterUtils { || state == FeedItem.State.IN_PROGRESS) { if (media.getDuration() > 0) { episodeProgress.setVisibility(View.VISIBLE); - episodeProgress - .setProgress((int) (((double) media + episodeProgress.setProgress((int) (((double) media .getPosition()) / media.getDuration() * 100)); - txtvPos.setText(Converter - .getDurationStringLong(media.getDuration() + txtvPos.setText(Converter.getDurationStringLong(media.getDuration() - media.getPosition())); } } else if (!media.isDownloaded()) { - txtvPos.setText(Converter.byteToString(media.getSize())); + if(media.getSize() > 0) { + txtvPos.setText(Converter.byteToString(media.getSize())); + } else { + txtvPos.setText(""); + } } else { - txtvPos.setText(Converter.getDurationStringLong(media - .getDuration())); + txtvPos.setText(Converter.getDurationStringLong(media.getDuration())); } } } diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java index bba5a00a9..431b645c6 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java @@ -129,7 +129,11 @@ public class QueueListAdapter extends BaseAdapter { holder.progressRight.setText(Converter.getDurationStringLong(media.getDuration())); } } else { - holder.progressLeft.setText(Converter.byteToString(media.getSize())); + if(media.getSize() > 0) { + holder.progressLeft.setText(Converter.byteToString(media.getSize())); + } else { + holder.progressLeft.setText(""); + } holder.progressRight.setText(Converter.getDurationStringLong(media.getDuration())); holder.progress.setVisibility(View.GONE); } -- cgit v1.2.3 From 97827cde2d822fca93f6900527e3bda56076a0d5 Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Sun, 12 Jul 2015 22:07:45 +0200 Subject: Fixed tests and bug --- .../androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java | 2 +- app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java b/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java index 738ec488f..13a0e3f78 100644 --- a/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java +++ b/app/src/androidTest/java/de/test/antennapod/handler/FeedHandlerTest.java @@ -172,7 +172,7 @@ public class FeedHandlerTest extends InstrumentationTestCase { "http://example.com/items/" + i, new Date(i*60000), FeedItem.UNPLAYED, feed); feed.getItems().add(item); if (withFeedMedia) { - item.setMedia(new FeedMedia(0, item, 4711, 0, 100, "audio/mp3", null, "http://example.com/media-" + i, + item.setMedia(new FeedMedia(0, item, 4711, 0, 1024*1024, "audio/mp3", null, "http://example.com/media-" + i, false, null, 0)); } } diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java index a176ef69a..ac4a709d7 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java @@ -67,6 +67,8 @@ public class DBTasksTest extends InstrumentationTestCase { SharedPreferences.Editor prefEdit = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()).edit(); prefEdit.putString(UserPreferences.PREF_EPISODE_CACHE_SIZE, Integer.toString(EPISODE_CACHE_SIZE)); prefEdit.commit(); + + UserPreferences.init(context); } @FlakyTest(tolerance = 3) @@ -261,7 +263,7 @@ public class DBTasksTest extends InstrumentationTestCase { } for (int i = NUM_ITEMS_OLD; i < NUM_ITEMS_NEW + NUM_ITEMS_OLD; i++) { - feed.getItems().add(0, new FeedItem(0, "item " + i, "id " + i, "link " + i, new Date(i), FeedItem.PLAYED, feed)); + feed.getItems().add(0, new FeedItem(0, "item " + i, "id " + i, "link " + i, new Date(i), FeedItem.UNPLAYED, feed)); } final Feed newFeed = DBTasks.updateFeed(context, feed)[0]; @@ -275,7 +277,6 @@ public class DBTasksTest extends InstrumentationTestCase { updatedFeedTest(feedFromDB, feedID, itemIDs, NUM_ITEMS_OLD, NUM_ITEMS_NEW); } - @FlakyTest(tolerance = 3) private void updatedFeedTest(final Feed newFeed, long feedID, List itemIDs, final int NUM_ITEMS_OLD, final int NUM_ITEMS_NEW) { assertTrue(newFeed.getId() == feedID); assertTrue(newFeed.getItems().size() == NUM_ITEMS_NEW + NUM_ITEMS_OLD); -- cgit v1.2.3