HttpManagerImpl.java
/*
* Decompiled with CFR 0_132.
*/
package org.xutils.http;
import java.lang.reflect.Type;
import org.xutils.HttpManager;
import org.xutils.common.Callback;
import org.xutils.common.task.AbsTask;
import org.xutils.http.HttpMethod;
import org.xutils.http.HttpTask;
import org.xutils.http.RequestParams;
import org.xutils.x;
public final class HttpManagerImpl
implements HttpManager {
private static final Object lock = new Object();
private static volatile HttpManagerImpl instance;
private HttpManagerImpl() {
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
*/
public static void registerInstance() {
if (instance == null) {
Object object = lock;
synchronized (object) {
if (instance == null) {
instance = new HttpManagerImpl();
}
}
}
x.Ext.setHttpManager(instance);
}
@Override
public <T> Callback.Cancelable get(RequestParams entity, Callback.CommonCallback<T> callback) {
return this.request(HttpMethod.GET, entity, callback);
}
@Override
public <T> Callback.Cancelable post(RequestParams entity, Callback.CommonCallback<T> callback) {
return this.request(HttpMethod.POST, entity, callback);
}
@Override
public <T> Callback.Cancelable request(HttpMethod method, RequestParams entity, Callback.CommonCallback<T> callback) {
entity.setMethod(method);
Callback.Cancelable cancelable = null;
if (callback instanceof Callback.Cancelable) {
cancelable = (Callback.Cancelable)((Object)callback);
}
HttpTask<T> task = new HttpTask<T>(entity, cancelable, callback);
return x.task().start(task);
}
@Override
public <T> T getSync(RequestParams entity, Class<T> resultType) throws Throwable {
return this.requestSync(HttpMethod.GET, entity, resultType);
}
@Override
public <T> T postSync(RequestParams entity, Class<T> resultType) throws Throwable {
return this.requestSync(HttpMethod.POST, entity, resultType);
}
@Override
public <T> T requestSync(HttpMethod method, RequestParams entity, Class<T> resultType) throws Throwable {
DefaultSyncCallback<T> callback = new DefaultSyncCallback<T>(resultType);
return this.requestSync(method, entity, callback);
}
@Override
public <T> T requestSync(HttpMethod method, RequestParams entity, Callback.TypedCallback<T> callback) throws Throwable {
entity.setMethod(method);
HttpTask<T> task = new HttpTask<T>(entity, null, callback);
return x.task().startSync(task);
}
private class DefaultSyncCallback<T>
implements Callback.TypedCallback<T> {
private final Class<T> resultType;
public DefaultSyncCallback(Class<T> resultType) {
this.resultType = resultType;
}
@Override
public Type getLoadType() {
return this.resultType;
}
@Override
public void onSuccess(T result) {
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(Callback.CancelledException cex) {
}
@Override
public void onFinished() {
}
}
}