diff options
Diffstat (limited to 'core/src')
4 files changed, 11 insertions, 28 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java index 61cafef94..05ca84bac 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java +++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java @@ -652,7 +652,7 @@ public class FeedMedia extends FeedFile implements Playable { if (item != null) { Feed feed = item.getFeed(); if (feed != null) { - playbackSpeed = feed.getPreferences().getCurrentPlaybackSpeed(); + playbackSpeed = feed.getPreferences().getFeedPlaybackSpeed(); } } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedPreferences.java index b607d8b42..b0512d844 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedPreferences.java +++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedPreferences.java @@ -30,13 +30,13 @@ public class FeedPreferences { private AutoDeleteAction auto_delete_action; private String username; private String password; - private String feedPlaybackSpeed; + private float feedPlaybackSpeed; public FeedPreferences(long feedID, boolean autoDownload, AutoDeleteAction auto_delete_action, String username, String password) { - this(feedID, autoDownload, true, auto_delete_action, username, password, new FeedFilter(), "global"); + this(feedID, autoDownload, true, auto_delete_action, username, password, new FeedFilter(), SPEED_USE_GLOBAL); } - private FeedPreferences(long feedID, boolean autoDownload, boolean keepUpdated, AutoDeleteAction auto_delete_action, String username, String password, @NonNull FeedFilter filter, String feedPlaybackSpeed) { + private FeedPreferences(long feedID, boolean autoDownload, boolean keepUpdated, AutoDeleteAction auto_delete_action, String username, String password, @NonNull FeedFilter filter, float feedPlaybackSpeed) { this.feedID = feedID; this.autoDownload = autoDownload; this.keepUpdated = keepUpdated; @@ -67,7 +67,7 @@ public class FeedPreferences { String password = cursor.getString(indexPassword); String includeFilter = cursor.getString(indexIncludeFilter); String excludeFilter = cursor.getString(indexExcludeFilter); - String feedPlaybackSpeed = cursor.getString(indexFeedPlaybackSpeed); + float feedPlaybackSpeed = cursor.getFloat(indexFeedPlaybackSpeed); return new FeedPreferences(feedId, autoDownload, autoRefresh, autoDeleteAction, username, password, new FeedFilter(includeFilter, excludeFilter), feedPlaybackSpeed); } @@ -182,30 +182,11 @@ public class FeedPreferences { this.password = password; } - public float getCurrentPlaybackSpeed() { - float speed = 0.0f; - - if (!"global".equals(feedPlaybackSpeed)) { - try { - speed = Float.parseFloat(getFeedPlaybackSpeed()); - } catch (NumberFormatException e) { - setFeedPlaybackSpeed("global"); - } - } - - // Either global or error happened - if (speed == 0.0f) { - speed = SPEED_USE_GLOBAL; - } - - return speed; - } - - public String getFeedPlaybackSpeed() { + public float getFeedPlaybackSpeed() { return feedPlaybackSpeed; } - public void setFeedPlaybackSpeed(String playbackSpeed) { + public void setFeedPlaybackSpeed(float playbackSpeed) { feedPlaybackSpeed = playbackSpeed; } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBUpgrader.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBUpgrader.java index 8f2c391a9..41b39deac 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBUpgrader.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBUpgrader.java @@ -9,6 +9,7 @@ import android.util.Log; import de.danoeh.antennapod.core.feed.FeedItem; import static de.danoeh.antennapod.core.feed.FeedMedia.LAST_PLAYBACK_SPEED_UNSET; +import static de.danoeh.antennapod.core.feed.FeedPreferences.SPEED_USE_GLOBAL; class DBUpgrader { /** @@ -292,7 +293,7 @@ class DBUpgrader { } if (oldVersion < 1070400) { db.execSQL("ALTER TABLE " + PodDBAdapter.TABLE_NAME_FEEDS - + " ADD COLUMN " + PodDBAdapter.KEY_FEED_PLAYBACK_SPEED + " TEXT"); + + " ADD COLUMN " + PodDBAdapter.KEY_FEED_PLAYBACK_SPEED + " REAL DEFAULT " + SPEED_USE_GLOBAL); db.execSQL("ALTER TABLE " + PodDBAdapter.TABLE_NAME_FEED_MEDIA + " ADD COLUMN " + PodDBAdapter.KEY_MEDIA_LAST_PLAYBACK_SPEED + " REAL DEFAULT " + LAST_PLAYBACK_SPEED_UNSET); } diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java index 1104ca684..0c93590e2 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java @@ -38,6 +38,7 @@ import de.danoeh.antennapod.core.util.LongIntMap; import org.greenrobot.eventbus.EventBus; import static de.danoeh.antennapod.core.feed.FeedMedia.LAST_PLAYBACK_SPEED_UNSET; +import static de.danoeh.antennapod.core.feed.FeedPreferences.SPEED_USE_GLOBAL; // TODO Remove media column from feeditem table @@ -148,7 +149,7 @@ public class PodDBAdapter { + KEY_HIDE + " TEXT," + KEY_LAST_UPDATE_FAILED + " INTEGER DEFAULT 0," + KEY_AUTO_DELETE_ACTION + " INTEGER DEFAULT 0," - + KEY_FEED_PLAYBACK_SPEED + " TEXT)"; + + KEY_FEED_PLAYBACK_SPEED + " REAL DEFAULT " + SPEED_USE_GLOBAL + ")"; private static final String CREATE_TABLE_FEED_ITEMS = "CREATE TABLE " + TABLE_NAME_FEED_ITEMS + " (" + TABLE_PRIMARY_KEY + KEY_TITLE |