Skip to content

Commit 3be0167

Browse files
Merge pull request #97 from amitshekhariitbhu/development
Bug Fixes and New Api
2 parents 5d1ec29 + 7276335 commit 3be0167

File tree

9 files changed

+75
-35
lines changed

9 files changed

+75
-35
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ ANRequest request = AndroidNetworking.get("https://fierce-cove-29863.herokuapp.c
538538
.addPathParameter("pageNumber", "0")
539539
.addQueryParameter("limit", "3")
540540
.build();
541-
ANResponse<List<User>> response = request.executeForParsed(new TypeToken<List<User>>() {});
541+
ANResponse<List<User>> response = request.executeForObjectList(User.class);
542542
if (response.isSuccess()) {
543543
List<User> users = responseTwo.getResult();
544544
} else {

android-networking/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ android {
3939
dependencies {
4040
compile fileTree(dir: 'libs', include: ['*.jar'])
4141
testCompile 'junit:junit:4.12'
42-
androidTestCompile 'com.squareup.okhttp3:mockwebserver:3.5.0'
43-
compile 'com.squareup.okhttp3:okhttp:3.5.0'
42+
androidTestCompile 'com.squareup.okhttp3:mockwebserver:3.6.0'
43+
compile 'com.squareup.okhttp3:okhttp:3.6.0'
4444
compile 'com.google.code.gson:gson:2.8.0'
4545
}
4646
//apply from: 'upload.gradle'
Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import android.test.ApplicationTestCase;
2222

2323
import com.androidnetworking.common.ANConstants;
24+
import com.androidnetworking.common.ANRequest;
25+
import com.androidnetworking.common.ANResponse;
2426
import com.androidnetworking.error.ANError;
2527
import com.androidnetworking.interfaces.StringRequestListener;
2628

@@ -37,11 +39,11 @@
3739
/**
3840
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
3941
*/
40-
public class ApplicationTest extends ApplicationTestCase<Application> {
42+
public class ApiTest extends ApplicationTestCase<Application> {
4143
@Rule
4244
public final MockWebServer server = new MockWebServer();
4345

44-
public ApplicationTest() {
46+
public ApiTest() {
4547
super(Application.class);
4648
}
4749

@@ -246,5 +248,31 @@ public void onError(ANError anError) {
246248
assertEquals(404, errorCodeRef.get().intValue());
247249
}
248250

251+
@SuppressWarnings("unchecked")
252+
public void testSynchronousGetRequest() throws InterruptedException {
253+
254+
server.enqueue(new MockResponse().setBody("getResponse"));
255+
256+
ANRequest request = AndroidNetworking.get(server.url("/").toString()).build();
257+
258+
ANResponse<String> response = request.executeForString();
259+
260+
assertEquals("getResponse", response.getResult());
261+
}
262+
263+
@SuppressWarnings("unchecked")
264+
public void testSynchronousPostRequest() throws InterruptedException {
265+
266+
server.enqueue(new MockResponse().setBody("postResponse"));
267+
268+
ANRequest request = AndroidNetworking.post(server.url("/").toString())
269+
.addBodyParameter("fistName", "Amit")
270+
.addBodyParameter("lastName", "Shekhar")
271+
.build();
272+
273+
ANResponse<String> response = request.executeForString();
274+
275+
assertEquals("postResponse", response.getResult());
276+
}
249277

250278
}

android-networking/src/main/java/com/androidnetworking/common/ANRequest.java

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,19 @@ public void getAsOkHttpResponseAndParsed(TypeToken typeToken, OkHttpResponseAndP
301301
ANRequestQueue.getInstance().addRequest(this);
302302
}
303303

304+
public void getAsOkHttpResponseAndObject(Class objectClass, OkHttpResponseAndParsedRequestListener parsedRequestListener) {
305+
this.mType = objectClass;
306+
this.mResponseType = ResponseType.PARSED;
307+
this.mOkHttpResponseAndParsedRequestListener = parsedRequestListener;
308+
ANRequestQueue.getInstance().addRequest(this);
309+
}
310+
311+
public void getAsOkHttpResponseAndObjectList(Class objectClass, OkHttpResponseAndParsedRequestListener parsedRequestListener) {
312+
this.mType = $Gson$Types.newParameterizedTypeWithOwner(null, List.class, objectClass);
313+
this.mResponseType = ResponseType.PARSED;
314+
this.mOkHttpResponseAndParsedRequestListener = parsedRequestListener;
315+
ANRequestQueue.getInstance().addRequest(this);
316+
}
304317

305318
public void startDownload(DownloadListener downloadListener) {
306319
this.mDownloadListener = downloadListener;
@@ -343,6 +356,18 @@ public ANResponse executeForParsed(TypeToken typeToken) {
343356
return SynchronousCall.execute(this);
344357
}
345358

359+
public ANResponse executeForObject(Class objectClass) {
360+
this.mType = objectClass;
361+
this.mResponseType = ResponseType.PARSED;
362+
return SynchronousCall.execute(this);
363+
}
364+
365+
public ANResponse executeForObjectList(Class objectClass) {
366+
this.mType = $Gson$Types.newParameterizedTypeWithOwner(null, List.class, objectClass);
367+
this.mResponseType = ResponseType.PARSED;
368+
return SynchronousCall.execute(this);
369+
}
370+
346371
public ANResponse executeForDownload() {
347372
return SynchronousCall.execute(this);
348373
}
@@ -917,7 +942,7 @@ public T addPathParameter(String key, String value) {
917942

918943
@Override
919944
public T addPathParameter(Map<String, String> pathParameterMap) {
920-
if (mPathParameterMap != null) {
945+
if (pathParameterMap != null) {
921946
mPathParameterMap.putAll(pathParameterMap);
922947
}
923948
return (T) this;
@@ -1131,7 +1156,7 @@ public T addPathParameter(String key, String value) {
11311156

11321157
@Override
11331158
public T addPathParameter(Map<String, String> pathParameterMap) {
1134-
if (mPathParameterMap != null) {
1159+
if (pathParameterMap != null) {
11351160
mPathParameterMap.putAll(pathParameterMap);
11361161
}
11371162
return (T) this;
@@ -1399,7 +1424,7 @@ public T addPathParameter(String key, String value) {
13991424

14001425
@Override
14011426
public T addPathParameter(Map<String, String> pathParameterMap) {
1402-
if (mPathParameterMap != null) {
1427+
if (pathParameterMap != null) {
14031428
mPathParameterMap.putAll(pathParameterMap);
14041429
}
14051430
return (T) this;
@@ -1538,7 +1563,7 @@ public T addPathParameter(String key, String value) {
15381563

15391564
@Override
15401565
public T addPathParameter(Map<String, String> pathParameterMap) {
1541-
if (mPathParameterMap != null) {
1566+
if (pathParameterMap != null) {
15421567
mPathParameterMap.putAll(pathParameterMap);
15431568
}
15441569
return (T) this;

android-networking/src/main/java/com/androidnetworking/internal/DownloadProgressHandler.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,25 @@
2525
import com.androidnetworking.interfaces.DownloadProgressListener;
2626
import com.androidnetworking.model.Progress;
2727

28-
import java.lang.ref.WeakReference;
29-
3028
/**
3129
* Created by amitshekhar on 24/05/16.
3230
*/
3331
public class DownloadProgressHandler extends Handler {
3432

35-
private final WeakReference<DownloadProgressListener> mDownloadProgressListenerWeakRef;
33+
private final DownloadProgressListener mDownloadProgressListenerWeakRef;
3634

3735
public DownloadProgressHandler(DownloadProgressListener downloadProgressListener) {
3836
super(Looper.getMainLooper());
39-
mDownloadProgressListenerWeakRef = new WeakReference<>(downloadProgressListener);
37+
mDownloadProgressListenerWeakRef = downloadProgressListener;
4038
}
4139

4240
@Override
4341
public void handleMessage(Message msg) {
44-
final DownloadProgressListener downloadProgressListener = mDownloadProgressListenerWeakRef.get();
4542
switch (msg.what) {
4643
case ANConstants.UPDATE:
47-
if (downloadProgressListener != null) {
44+
if (mDownloadProgressListenerWeakRef != null) {
4845
final Progress progress = (Progress) msg.obj;
49-
downloadProgressListener.onProgress(progress.currentBytes, progress.totalBytes);
46+
mDownloadProgressListenerWeakRef.onProgress(progress.currentBytes, progress.totalBytes);
5047
}
5148
break;
5249
default:

android-networking/src/main/java/com/androidnetworking/internal/UploadProgressHandler.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,25 @@
2525
import com.androidnetworking.interfaces.UploadProgressListener;
2626
import com.androidnetworking.model.Progress;
2727

28-
import java.lang.ref.WeakReference;
29-
3028
/**
3129
* Created by amitshekhar on 24/05/16.
3230
*/
3331
public class UploadProgressHandler extends Handler {
3432

35-
private final WeakReference<UploadProgressListener> mUploadProgressListenerWeakRef;
33+
private final UploadProgressListener mUploadProgressListenerWeakRef;
3634

3735
public UploadProgressHandler(UploadProgressListener uploadProgressListener) {
3836
super(Looper.getMainLooper());
39-
mUploadProgressListenerWeakRef = new WeakReference<>(uploadProgressListener);
37+
mUploadProgressListenerWeakRef = uploadProgressListener;
4038
}
4139

4240
@Override
4341
public void handleMessage(Message msg) {
44-
final UploadProgressListener uploadProgressListener = mUploadProgressListenerWeakRef.get();
4542
switch (msg.what) {
4643
case ANConstants.UPDATE:
47-
if (uploadProgressListener != null) {
44+
if (mUploadProgressListenerWeakRef != null) {
4845
final Progress progress = (Progress) msg.obj;
49-
uploadProgressListener.onProgress(progress.currentBytes, progress.totalBytes);
46+
mUploadProgressListenerWeakRef.onProgress(progress.currentBytes, progress.totalBytes);
5047
}
5148
break;
5249
default:

android-networking/upload.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def siteUrl = 'https://github.com/amitshekhariitbhu/Fast-Android-Networking'
2222
def gitUrl = 'https://github.com/amitshekhariitbhu/Fast-Android-Networking.git'
2323

2424
group = "com.amitshekhar.android"
25-
version = '0.4.0'
25+
version = '0.5.0-RC1'
2626

2727
install {
2828
repositories.mavenInstaller {

app/src/main/java/com/networking/ApiTestActivity.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import com.androidnetworking.interfaces.OkHttpResponseListener;
3838
import com.androidnetworking.interfaces.ParsedRequestListener;
3939
import com.androidnetworking.interfaces.UploadProgressListener;
40-
import com.google.gson.reflect.TypeToken;
4140
import com.networking.model.User;
4241
import com.networking.utils.Utils;
4342

@@ -1013,8 +1012,7 @@ public void onReceived(long timeTakenInMillis, long bytesSent, long bytesReceive
10131012
Log.d(TAG, " isFromCache : " + isFromCache);
10141013
}
10151014
});
1016-
ANResponse<List<User>> responseTwo = requestTwo.executeForParsed(new TypeToken<List<User>>() {
1017-
});
1015+
ANResponse<List<User>> responseTwo = requestTwo.executeForObjectList(User.class);
10181016

10191017
if (responseTwo.isSuccess()) {
10201018
Log.d(TAG, "checkSynchronousCall : response success");

app/src/main/java/com/networking/OkHttpResponseTestActivity.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,11 @@
3434
import com.androidnetworking.interfaces.AnalyticsListener;
3535
import com.androidnetworking.interfaces.DownloadListener;
3636
import com.androidnetworking.interfaces.DownloadProgressListener;
37-
import com.androidnetworking.interfaces.JSONObjectRequestListener;
3837
import com.androidnetworking.interfaces.OkHttpResponseAndJSONArrayRequestListener;
3938
import com.androidnetworking.interfaces.OkHttpResponseAndJSONObjectRequestListener;
4039
import com.androidnetworking.interfaces.OkHttpResponseAndParsedRequestListener;
4140
import com.androidnetworking.interfaces.OkHttpResponseListener;
4241
import com.androidnetworking.interfaces.UploadProgressListener;
43-
import com.google.gson.reflect.TypeToken;
4442
import com.networking.model.User;
4543
import com.networking.utils.Utils;
4644

@@ -123,8 +121,7 @@ public void onReceived(long timeTakenInMillis, long bytesSent, long bytesReceive
123121
Log.d(TAG, " isFromCache : " + isFromCache);
124122
}
125123
})
126-
.getAsOkHttpResponseAndParsed(new TypeToken<List<User>>() {
127-
}, new OkHttpResponseAndParsedRequestListener<List<User>>() {
124+
.getAsOkHttpResponseAndObjectList(User.class, new OkHttpResponseAndParsedRequestListener<List<User>>() {
128125
@Override
129126
public void onResponse(Response okHttpResponse, List<User> users) {
130127
Log.d(TAG, "userList size : " + users.size());
@@ -163,8 +160,7 @@ public void onReceived(long timeTakenInMillis, long bytesSent, long bytesReceive
163160
Log.d(TAG, " isFromCache : " + isFromCache);
164161
}
165162
})
166-
.getAsOkHttpResponseAndParsed(new TypeToken<User>() {
167-
}, new OkHttpResponseAndParsedRequestListener<User>() {
163+
.getAsOkHttpResponseAndObject(User.class, new OkHttpResponseAndParsedRequestListener<User>() {
168164
@Override
169165
public void onResponse(Response okHttpResponse, User user) {
170166
Log.d(TAG, "id : " + user.id);
@@ -964,8 +960,7 @@ public void onReceived(long timeTakenInMillis, long bytesSent, long bytesReceive
964960
Log.d(TAG, " isFromCache : " + isFromCache);
965961
}
966962
});
967-
ANResponse<List<User>> responseTwo = requestTwo.executeForParsed(new TypeToken<List<User>>() {
968-
});
963+
ANResponse<List<User>> responseTwo = requestTwo.executeForObjectList(User.class);
969964

970965
if (responseTwo.isSuccess()) {
971966
Log.d(TAG, "checkSynchronousCall : response success");

0 commit comments

Comments
 (0)