summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--app/build.gradle3
-rw-r--r--app/src/main/AndroidManifest.xml11
-rw-r--r--app/src/main/templates/about.html4
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java21
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/FeedMediaSizeService.java19
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java2
7 files changed, 48 insertions, 16 deletions
diff --git a/README.md b/README.md
index c4d4870e8..d8fd241c6 100644
--- a/README.md
+++ b/README.md
@@ -11,10 +11,10 @@ You can use the [AntennaPod Google Group](https://groups.google.com/forum/#!foru
Bug reports and feature requests can be submitted [here](https://github.com/danieloeh/AntennaPod/issues/new) (please read the [instructions](https://github.com/danieloeh/AntennaPod/blob/master/CONTRIBUTING.md) on how to report a bug and how to submit a feature request first!).
## Beta Testing
-You can participate in beta testing by joining the Google Plus [AntennaPod Beta](https://plus.google.com/communities/105484485757508984859) community.
+You can participate in beta testing by joining the Google Plus [AntennaPod Beta](https://plus.google.com/communities/105484485757508984859) community and then going to [this url](https://play.google.com/apps/testing/de.danoeh.antennapod)
## Alpha Testing
-You can participate in alpha testing by joining the Google Plus [AntennaPod Alpha](https://plus.google.com/communities/117446128636140585144) community.
+You can participate in alpha testing by joining the Google Plus [AntennaPod Alpha](https://plus.google.com/communities/117446128636140585144) community and then going to [this url](https://play.google.com/apps/testing/de.danoeh.antennapod)
## Nightly Builds
diff --git a/app/build.gradle b/app/build.gradle
index 167e12933..daeb9ca39 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -121,8 +121,7 @@ task filterAbout {
from 'src/main/templates/about.html'
into 'src/main/assets'
filter(ReplaceTokens, tokens: [versionname: android.defaultConfig.versionName,
- versioncode: android.defaultConfig.versionCode.toString(),
- commit: "git describe".execute().text])
+ commit: "git rev-parse --short HEAD".execute().text])
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bf4ef6fdb..24c9c2726 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,9 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.danoeh.antennapod"
- android:versionCode="60"
- android:versionName="1.3 alpha">
-
+ android:versionCode="1030002"
+ android:versionName="1.3-RC2">
+ <!--
+ Version code schema:
+ "1.2.3-SNAPSHOT" -> 1020300
+ "1.2.3-RC4" -> 1020304
+ "1.2.3[-RELEASE] -> 1020399
+ -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
diff --git a/app/src/main/templates/about.html b/app/src/main/templates/about.html
index f37c28229..7dd00cd16 100644
--- a/app/src/main/templates/about.html
+++ b/app/src/main/templates/about.html
@@ -41,8 +41,8 @@
<div id="header" align="center">
<img src="logo.png" alt="Logo" width="100px" height="100px"/>
- <p>AntennaPod, Version @versionname@, Build @versioncode@</p>
- <p>commit: @commit@</p>
+ <p>AntennaPod, Version @versionname@</p>
+ <p>Commit: @commit@</p>
<p>Created by Daniel Oeh</p>
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 33dd9d636..55ab46335 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
@@ -28,6 +28,15 @@ public class FeedMedia extends FeedFile implements Playable {
public static final String PREF_MEDIA_ID = "FeedMedia.PrefMediaId";
public static final String PREF_FEED_ID = "FeedMedia.PrefFeedId";
+ /**
+ * Indicates we've checked on the size of the item via the network
+ * and got an invalid response. Using Integer.MIN_VALUE because
+ * 1) we'll still check on it in case it gets downloaded (it's <= 0)
+ * 2) By default all FeedMedia have a size of 0 if we don't know it,
+ * so this won't conflict with existing practice.
+ */
+ private static final int CHECKED_ON_SIZE = Integer.MIN_VALUE;
+
private int duration;
private int position; // Current position in file
private int played_duration; // How many ms of this file have been played (for autoflattring)
@@ -199,6 +208,18 @@ public class FeedMedia extends FeedFile implements Playable {
this.size = size;
}
+ /**
+ * Indicates we asked the service what the size was, but didn't
+ * get a valid answer and we shoudln't check using the network again.
+ */
+ public void setCheckedOnSize() {
+ this.size = CHECKED_ON_SIZE;
+ }
+
+ public boolean checkedOnSize() {
+ return (CHECKED_ON_SIZE == this.size);
+ }
+
public String getMime_type() {
return mime_type;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/FeedMediaSizeService.java b/core/src/main/java/de/danoeh/antennapod/core/service/FeedMediaSizeService.java
index e64a38901..2882039c0 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/FeedMediaSizeService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/FeedMediaSizeService.java
@@ -28,21 +28,23 @@ public class FeedMediaSizeService extends IntentService {
@Override
protected void onHandleIntent(Intent intent) {
Log.d(TAG, "onHandleIntent()");
- if(false == NetworkUtils.networkAvailable(this)) {
+ if(false == NetworkUtils.isDownloadAllowed(this)) {
return;
}
List<FeedMedia> list = DBReader.getFeedMediaUnknownSize(this);
for (FeedMedia media : list) {
- if(false == NetworkUtils.networkAvailable(this)) {
+ Log.d(TAG, "Getting size currently " + media.getSize() + " for " + media.getDownload_url());
+ if(false == NetworkUtils.isDownloadAllowed(this)) {
return;
}
long size = Integer.MIN_VALUE;
- if(media.isDownloaded()) {
+ if (media.isDownloaded()) {
File mediaFile = new File(media.getLocalMediaUrl());
if(mediaFile.exists()) {
size = mediaFile.length();
}
- } else {
+ } else if (false == media.checkedOnSize()) {
+ // only query the network if we haven't already checked
HttpURLConnection conn = null;
try {
URL url = new URL(media.getDownload_url());
@@ -50,7 +52,6 @@ public class FeedMediaSizeService extends IntentService {
conn.setRequestProperty("Accept-Encoding", "");
conn.setRequestMethod("HEAD");
size = conn.getContentLength();
- conn.disconnect();
} catch (IOException e) {
Log.d(TAG, media.getDownload_url());
e.printStackTrace();
@@ -60,7 +61,13 @@ public class FeedMediaSizeService extends IntentService {
}
}
}
- media.setSize(size);
+ if (size <= 0) {
+ // they didn't tell us the size, but we don't want to keep querying on it
+ media.setCheckedOnSize();
+ } else {
+ media.setSize(size);
+ }
+ Log.d(TAG, "Size now: " + media.getSize());
DBWriter.setFeedMedia(this, media);
EventBus.getDefault().post(FeedMediaEvent.update(media));
}
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 15f35d644..0153cbc8c 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
@@ -1113,7 +1113,7 @@ public class PodDBAdapter {
public final Cursor getFeedMediaUnknownSizeCursor() {
final String query = "SELECT * "
+ " FROM " + TABLE_NAME_FEED_MEDIA
- + " WHERE " + KEY_SIZE + ">" + Integer.MIN_VALUE;
+ + " WHERE " + KEY_SIZE + "<= 0";
return db.rawQuery(query, null);
}