Create sync version of request

Этот коммит содержится в:
Anton Tananaev
2015-08-13 11:58:59 +12:00
родитель 03266a8c78
Коммит 2cf1213535
3 изменённых файлов: 29 добавлений и 36 удалений
+26 -22
Просмотреть файл
@@ -41,27 +41,7 @@ public class RequestManager {
@Override @Override
protected Boolean doInBackground(String... request) { protected Boolean doInBackground(String... request) {
InputStream inputStream = null; return sendRequest(request[0]);
try {
URL url = new URL(request[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(TIMEOUT);
connection.setConnectTimeout(TIMEOUT);
connection.connect();
inputStream = connection.getInputStream();
while (inputStream.read() != -1);
return true;
} catch (IOException error) {
return false;
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (IOException secondError) {
return false;
}
}
} }
@Override @Override
@@ -74,7 +54,31 @@ public class RequestManager {
} }
} }
public static void sendRequest(String request, RequestHandler handler) { public static boolean sendRequest(String request) {
InputStream inputStream = null;
try {
URL url = new URL(request);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(TIMEOUT);
connection.setConnectTimeout(TIMEOUT);
connection.connect();
inputStream = connection.getInputStream();
while (inputStream.read() != -1);
return true;
} catch (IOException error) {
return false;
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (IOException secondError) {
return false;
}
}
}
public static void sendRequestAsync(String request, RequestHandler handler) {
RequestAsyncTask task = new RequestAsyncTask(handler); RequestAsyncTask task = new RequestAsyncTask(handler);
task.execute(request); task.execute(request);
} }
+1 -1
Просмотреть файл
@@ -53,7 +53,7 @@ public class TrackingController implements PositionProvider.PositionListener {
Integer.parseInt(preferences.getString(MainActivity.KEY_PORT, null)), Integer.parseInt(preferences.getString(MainActivity.KEY_PORT, null)),
position); position);
RequestManager.sendRequest(request, new RequestManager.RequestHandler() { RequestManager.sendRequestAsync(request, new RequestManager.RequestHandler() {
@Override @Override
public void onSuccess() { public void onSuccess() {
} }
+2 -13
Просмотреть файл
@@ -1,14 +1,12 @@
package org.traccar.client; package org.traccar.client;
import junit.framework.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import java.lang.Override; import static org.junit.Assert.assertTrue;
@RunWith(RobolectricGradleTestRunner.class) @RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21) @Config(constants = BuildConfig.class, sdk = 21)
@@ -17,16 +15,7 @@ public class RequestManagerTest {
@Test @Test
public void testSendRequest() throws Exception { public void testSendRequest() throws Exception {
RequestManager.sendRequest("http://www.google.com", new RequestManager.RequestHandler() { assertTrue(RequestManager.sendRequest("http://www.google.com"));
@Override
public void onSuccess() {
Assert.assertTrue(true);
}
@Override
public void onFailure() {
Assert.assertTrue(false);
}
});
} }