summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-02-24 17:14:28 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-02-24 17:14:28 +0000
commit4531e9c45cc42c21f6033e52824453b18146a2c0 (patch)
treea601674eb0b1b04e9d4b471ce4874c06e021c260 /media
parent875e2101d71afe7e4acf10b061c942fbf7294775 (diff)
parent6e89ddc0468495aa15c8408980bb7a86bf2ad604 (diff)
downloadframeworks_base-4531e9c45cc42c21f6033e52824453b18146a2c0.zip
frameworks_base-4531e9c45cc42c21f6033e52824453b18146a2c0.tar.gz
frameworks_base-4531e9c45cc42c21f6033e52824453b18146a2c0.tar.bz2
Merge "Add method to get redirected Uri"
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/IMediaHTTPConnection.aidl1
-rw-r--r--media/java/android/media/MediaHTTPConnection.java25
2 files changed, 19 insertions, 7 deletions
diff --git a/media/java/android/media/IMediaHTTPConnection.aidl b/media/java/android/media/IMediaHTTPConnection.aidl
index 300211b..55ffc2e 100644
--- a/media/java/android/media/IMediaHTTPConnection.aidl
+++ b/media/java/android/media/IMediaHTTPConnection.aidl
@@ -29,5 +29,6 @@ interface IMediaHTTPConnection
int readAt(long offset, int size);
long getSize();
String getMIMEType();
+ String getUri();
}
diff --git a/media/java/android/media/MediaHTTPConnection.java b/media/java/android/media/MediaHTTPConnection.java
index 2732fbc..67680a8 100644
--- a/media/java/android/media/MediaHTTPConnection.java
+++ b/media/java/android/media/MediaHTTPConnection.java
@@ -16,7 +16,6 @@
package android.media;
-import android.net.Uri;
import android.os.IBinder;
import android.os.StrictMode;
import android.util.Log;
@@ -52,6 +51,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
native_setup();
}
+ @Override
public IBinder connect(String uri, String headers) {
if (VERBOSE) {
Log.d(TAG, "connect: uri=" + uri + ", headers=" + headers);
@@ -85,6 +85,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
return map;
}
+ @Override
public void disconnect() {
teardownConnection();
mHeaders = null;
@@ -120,7 +121,11 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
"Range", "bytes=" + offset + "-");
}
- if (mConnection.getResponseCode() == HttpURLConnection.HTTP_PARTIAL) {
+ int response = mConnection.getResponseCode();
+ // remember the current, possibly redirected URL
+ mURL = mConnection.getURL();
+
+ if (response == HttpURLConnection.HTTP_PARTIAL) {
// Partial content, we cannot just use getContentLength
// because what we want is not just the length of the range
// returned but the size of the full content if available.
@@ -145,16 +150,13 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
}
}
}
- } else if (mConnection.getResponseCode()
- != HttpURLConnection.HTTP_OK) {
+ } else if (response != HttpURLConnection.HTTP_OK) {
throw new IOException();
} else {
mTotalSize = mConnection.getContentLength();
}
- if (offset > 0
- && mConnection.getResponseCode()
- != HttpURLConnection.HTTP_PARTIAL) {
+ if (offset > 0 && response != HttpURLConnection.HTTP_PARTIAL) {
// Some servers simply ignore "Range" requests and serve
// data from the start of the content.
throw new IOException();
@@ -174,6 +176,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
}
}
+ @Override
public int readAt(long offset, int size) {
return native_readAt(offset, size);
}
@@ -218,6 +221,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
}
}
+ @Override
public long getSize() {
if (mConnection == null) {
try {
@@ -230,6 +234,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
return mTotalSize;
}
+ @Override
public String getMIMEType() {
if (mConnection == null) {
try {
@@ -243,6 +248,11 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
}
@Override
+ public String getUri() {
+ return mURL.toString();
+ }
+
+ @Override
protected void finalize() {
native_finalize();
}
@@ -260,4 +270,5 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
}
private int mNativeContext;
+
}