private static void setProxy(HttpRequest request, HttpClient httpClient) {
NetworkInfo networkInfo = UpgradeApplication.getNetworkInfo();
if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
Log.i(UpgradeApplication.TAG, "WIFI ENV, don't use proxy.");
} else {
if (UpgradeApplication.getProxyHost() != null
&& !UpgradeApplication.getProxyHost().equals("")
&& UpgradeApplication.getProxyPort() != -1) {
Log.d(UpgradeApplication.TAG, "UpgradeApplication use proxy:"
+ UpgradeApplication.getProxyHost() + ":"
+ UpgradeApplication.getProxyPort());
HttpParams params = httpClient.getParams();
ConnRouteParams.setDefaultProxy(params, new HttpHost(UpgradeApplication
.getProxyHost(), UpgradeApplication.getProxyPort()));
request.setParams(params);
}
}
}
private static int getXML(String uri, OutputStream outputStream) {
if (uri == null || "".equals(uri)){
Log.w(UpgradeApplication.TAG,"uri is null or empty");
return -1;
}
HttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(uri);
int statusCode = -1;
setProxy(request, httpClient);
HttpResponse response = null;
request.getParams().setIntParameter(HttpConnectionParams.SO_TIMEOUT,
UpgradeApplication.config.getSo_timeout());
request.getParams().setIntParameter(HttpConnectionParams.CONNECTION_TIMEOUT,
UpgradeApplication.config.getConnection_timeout());
try {
response = httpClient.execute(request);
statusCode = response.getStatusLine().getStatusCode();
if (outputStream != null) {
response.getEntity().writeTo(outputStream);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (httpClient != null
&& httpClient.getConnectionManager() != null) {
httpClient.getConnectionManager().shutdown();
httpClient = null;
}
}
return statusCode;
}