Skip to content

Commit 42fa527

Browse files
committed
Merge pull request android-async-http#13 from scottanderson/master
Android library project
2 parents 93a4514 + 80fde0d commit 42fa527

11 files changed

+81
-27
lines changed

.classpath

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
4+
<classpathentry kind="src" path="src"/>
5+
<classpathentry kind="src" path="gen"/>
6+
<classpathentry kind="src" path="examples"/>
7+
<classpathentry kind="output" path="bin"/>
8+
</classpath>

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@ MANIFEST.MF
33
*.jar
44
build.num
55
build
6-
local.properties
6+
local.properties
7+
bin/
8+
gen/
9+

.project

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>android-async-http</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
<buildCommand>
19+
<name>org.eclipse.jdt.core.javabuilder</name>
20+
<arguments>
21+
</arguments>
22+
</buildCommand>
23+
<buildCommand>
24+
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
25+
<arguments>
26+
</arguments>
27+
</buildCommand>
28+
</buildSpec>
29+
<natures>
30+
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
31+
<nature>org.eclipse.jdt.core.javanature</nature>
32+
</natures>
33+
</projectDescription>

AndroidManifest.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
package="com.loopj.android.http"
4+
android:versionName="1.3.1"
5+
android:versionCode="1">
6+
<application
7+
android:name="android_async_http">
8+
</application>
9+
<uses-sdk android:minSdkVersion="3" />
10+
<uses-permission android:name="android.permission.INTERNET" />
11+
</manifest>

build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
<attribute name="Implementation-Version" value="${version.num}-b${build.number}"/>
5454
</manifest>
5555

56-
<jar destfile="${jarfile}" basedir="build/classes" includes="**/*.class" manifest="MANIFEST.MF" />
56+
<jar destfile="${jarfile}" basedir="build/classes" includes="com/loopj/android/http/**/*.class" manifest="MANIFEST.MF" />
5757
</target>
5858

5959
<!-- Clean out the build files -->

default.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
target=android-3
1+
target=android-3
2+
android.library=true

src/com/loopj/android/http/AsyncHttpClient.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,18 +92,17 @@ public class AsyncHttpClient {
9292
private static final int DEFAULT_MAX_CONNECTIONS = 10;
9393
private static final int DEFAULT_SOCKET_TIMEOUT = 10 * 1000;
9494
private static final int DEFAULT_MAX_RETRIES = 5;
95-
private static final String ENCODING = "UTF-8";
9695
private static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding";
9796
private static final String ENCODING_GZIP = "gzip";
9897

9998
private static int maxConnections = DEFAULT_MAX_CONNECTIONS;
10099
private static int socketTimeout = DEFAULT_SOCKET_TIMEOUT;
101100

102-
private DefaultHttpClient httpClient;
103-
private HttpContext httpContext;
101+
private final DefaultHttpClient httpClient;
102+
private final HttpContext httpContext;
104103
private ThreadPoolExecutor threadPool;
105-
private Map<Context, List<WeakReference<Future>>> requestMap;
106-
private Map<String, String> clientHeaderMap;
104+
private final Map<Context, List<WeakReference<Future<?>>>> requestMap;
105+
private final Map<String, String> clientHeaderMap;
107106

108107

109108
/**
@@ -159,7 +158,7 @@ public void process(HttpResponse response, HttpContext context) {
159158

160159
threadPool = (ThreadPoolExecutor)Executors.newCachedThreadPool();
161160

162-
requestMap = new WeakHashMap<Context, List<WeakReference<Future>>>();
161+
requestMap = new WeakHashMap<Context, List<WeakReference<Future<?>>>>();
163162
clientHeaderMap = new HashMap<String, String>();
164163
}
165164

@@ -229,10 +228,10 @@ public void addHeader(String header, String value) {
229228
* @param mayInterruptIfRunning specifies if active requests should be cancelled along with pending requests.
230229
*/
231230
public void cancelRequests(Context context, boolean mayInterruptIfRunning) {
232-
List<WeakReference<Future>> requestList = requestMap.get(context);
231+
List<WeakReference<Future<?>>> requestList = requestMap.get(context);
233232
if(requestList != null) {
234-
for(WeakReference<Future> requestRef : requestList) {
235-
Future request = requestRef.get();
233+
for(WeakReference<Future<?>> requestRef : requestList) {
234+
Future<?> request = requestRef.get();
236235
if(request != null) {
237236
request.cancel(mayInterruptIfRunning);
238237
}
@@ -413,17 +412,17 @@ private void sendRequest(DefaultHttpClient client, HttpContext httpContext, Http
413412
uriRequest.addHeader("Content-Type", contentType);
414413
}
415414

416-
Future request = threadPool.submit(new AsyncHttpRequest(client, httpContext, uriRequest, responseHandler));
415+
Future<?> request = threadPool.submit(new AsyncHttpRequest(client, httpContext, uriRequest, responseHandler));
417416

418417
if(context != null) {
419418
// Add request to request map
420-
List<WeakReference<Future>> requestList = requestMap.get(context);
419+
List<WeakReference<Future<?>>> requestList = requestMap.get(context);
421420
if(requestList == null) {
422-
requestList = new LinkedList<WeakReference<Future>>();
421+
requestList = new LinkedList<WeakReference<Future<?>>>();
423422
requestMap.put(context, requestList);
424423
}
425424

426-
requestList.add(new WeakReference<Future>(request));
425+
requestList.add(new WeakReference<Future<?>>(request));
427426

428427
// TODO: Remove dead weakrefs from requestLists?
429428
}

src/com/loopj/android/http/AsyncHttpRequest.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,16 @@
2222
import java.net.ConnectException;
2323

2424
import org.apache.http.HttpResponse;
25-
import org.apache.http.client.HttpClient;
2625
import org.apache.http.client.HttpRequestRetryHandler;
2726
import org.apache.http.client.methods.HttpUriRequest;
2827
import org.apache.http.impl.client.AbstractHttpClient;
2928
import org.apache.http.protocol.HttpContext;
3029

3130
class AsyncHttpRequest implements Runnable {
32-
private AbstractHttpClient client;
33-
private HttpContext context;
34-
private HttpUriRequest request;
35-
private AsyncHttpResponseHandler responseHandler;
31+
private final AbstractHttpClient client;
32+
private final HttpContext context;
33+
private final HttpUriRequest request;
34+
private final AsyncHttpResponseHandler responseHandler;
3635
private int executionCount;
3736

3837
public AsyncHttpRequest(AbstractHttpClient client, HttpContext context, HttpUriRequest request, AsyncHttpResponseHandler responseHandler) {

src/com/loopj/android/http/PersistentCookieStore.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ public class PersistentCookieStore implements CookieStore {
4949
private static final String COOKIE_NAME_STORE = "names";
5050
private static final String COOKIE_NAME_PREFIX = "cookie_";
5151

52-
private ConcurrentHashMap<String, Cookie> cookies;
53-
private SharedPreferences cookiePrefs;
52+
private final ConcurrentHashMap<String, Cookie> cookies;
53+
private final SharedPreferences cookiePrefs;
5454

5555
/**
5656
* Construct a persistent cookie store.
@@ -175,8 +175,8 @@ protected Cookie decodeCookie(String cookieStr) {
175175
// to rely on any large Base64 libraries. Can be overridden if you like!
176176
protected String byteArrayToHexString(byte[] b) {
177177
StringBuffer sb = new StringBuffer(b.length * 2);
178-
for(int i=0; i<b.length; i++) {
179-
int v = b[i] & 0xff;
178+
for (byte element : b) {
179+
int v = element & 0xff;
180180
if(v < 16) {
181181
sb.append('0');
182182
}

src/com/loopj/android/http/RetryHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class RetryHandler implements HttpRequestRetryHandler {
5858
exceptionBlacklist.add(SSLHandshakeException.class);
5959
}
6060

61-
private int maxRetries;
61+
private final int maxRetries;
6262

6363
public RetryHandler(int maxRetries) {
6464
this.maxRetries = maxRetries;

src/com/loopj/android/http/SerializableCookie.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
public class SerializableCookie implements Serializable {
3535
private static final long serialVersionUID = 6374381828722046732L;
3636

37-
private transient Cookie cookie;
37+
private transient final Cookie cookie;
3838
private transient BasicClientCookie clientCookie;
3939

4040
public SerializableCookie(Cookie cookie) {

0 commit comments

Comments
 (0)