resolve merge conflicts of 8aaffd9 to nyc-dev
Change-Id: I4b1603b4cb1cdfc01f4842b2facf8c31a687bbe5
This commit is contained in:
@@ -22,6 +22,10 @@ import android.util.Log;
|
||||
import java.io.IOException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -37,6 +41,7 @@ public class GpsXtraDownloader {
|
||||
|
||||
private static final String TAG = "GpsXtraDownloader";
|
||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
private static final long MAXIMUM_CONTENT_LENGTH_BYTES = 1000000; // 1MB.
|
||||
private static final String DEFAULT_USER_AGENT = "Android";
|
||||
private static final int CONNECTION_TIMEOUT_MS = (int) TimeUnit.SECONDS.toMillis(30);
|
||||
|
||||
@@ -124,7 +129,19 @@ public class GpsXtraDownloader {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Streams.readFully(connection.getInputStream());
|
||||
try (InputStream in = connection.getInputStream()) {
|
||||
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
|
||||
byte[] buffer = new byte[1024];
|
||||
int count;
|
||||
while ((count = in.read(buffer)) != -1) {
|
||||
bytes.write(buffer, 0, count);
|
||||
if (bytes.size() > MAXIMUM_CONTENT_LENGTH_BYTES) {
|
||||
if (DEBUG) Log.d(TAG, "XTRA file too large");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return bytes.toByteArray();
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
if (DEBUG) Log.d(TAG, "Error downloading gps XTRA: ", ioe);
|
||||
} finally {
|
||||
@@ -136,3 +153,4 @@ public class GpsXtraDownloader {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user