package com.ysh.wpc.appupdate.api;
|
|
import java.io.File;
|
import java.io.FileNotFoundException;
|
import java.util.HashMap;
|
import java.util.LinkedHashMap;
|
import java.util.Map.Entry;
|
|
import android.content.Context;
|
import android.util.Log;
|
|
import com.loopj.android.http.AsyncHttpClient;
|
import com.loopj.android.http.RequestParams;
|
import com.loopj.android.http.ResponseHandlerInterface;
|
import com.loopj.android.http.SyncHttpClient;
|
import com.ysh.wpc.appupdate.BuildConfig;
|
import com.ysh.wpc.appupdate.util.PackageUtils2;
|
|
public class AppUpdateAPI {
|
|
public static final boolean isDebug = false;
|
|
private static final String TAG = "SuperAd";
|
|
public static String ERROR_NOTICE = "";
|
|
public static String BASE_URL = APPUpdateConstant.HOST + "update/";
|
|
private static AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
|
|
private static SyncHttpClient syncHttpClient = new SyncHttpClient();
|
|
static {
|
asyncHttpClient.setTimeout(60 * 1000);
|
syncHttpClient.setTimeout(60 * 1000);
|
asyncHttpClient.setURLEncodingEnabled(false);
|
syncHttpClient.setURLEncodingEnabled(false);
|
}
|
|
public static void getAppUpdateInfo(Context context, String device,
|
String platform, String time, String key, String versionCode,
|
ResponseHandlerInterface handler) {
|
LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
|
params.put("method", "update");
|
params.put("device", device);
|
params.put("platform", "Android");
|
params.put("key", key);
|
params.put("device ", device);
|
params.put("time", time);
|
params.put("versionCode", versionCode);
|
commonPost(context, BASE_URL + "update", params, handler);
|
}
|
|
public static LinkedHashMap<String, String> validateParams(
|
LinkedHashMap<String, String> params) {
|
params.put("System", "1");
|
StringBuilder sign = new StringBuilder();
|
// for (Entry<String, String> entry : params.entrySet()) {
|
// sign.append(entry.getValue());
|
// }
|
sign.append(params.get("Method"))
|
.append(params.get("Uid") == null ? params.get("Device")
|
: params.get("Uid")).append(params.get("System"));
|
if (BuildConfig.DEBUG) {
|
Log.i(TAG, "sign: " + sign);
|
}
|
params.put("Platform", "Android");
|
return params;
|
}
|
|
@SuppressWarnings("unused")
|
private static void commonGet(Context context, String url,
|
LinkedHashMap<String, String> params,
|
ResponseHandlerInterface handler) {
|
commonGet(context, url, params, handler, true);
|
}
|
|
public static void commonGet(Context context, String url,
|
LinkedHashMap<String, String> params,
|
ResponseHandlerInterface handler, boolean asyn) {
|
params.put("Package", context.getPackageName());
|
int version = PackageUtils2.getVersionCode(context);
|
params.put("Version", version + "");
|
|
LinkedHashMap<String, String> map = validateParams(params);
|
RequestParams requestParams = new RequestParams(map);
|
if (BuildConfig.DEBUG) {
|
Log.i(TAG, "get url: " + url + "?" + requestParams.toString());
|
}
|
if (asyn) {
|
(asyncHttpClient).get(context, url, requestParams, handler);
|
} else {
|
(syncHttpClient).get(context, url, requestParams, handler);
|
}
|
}
|
|
private static void commonPost(Context context, String url,
|
LinkedHashMap<String, String> params,
|
ResponseHandlerInterface handler) {
|
commonPost(context, url, params, null, handler);
|
}
|
|
private static void commonPost(Context context, String url,
|
LinkedHashMap<String, String> params, HashMap<String, File> files,
|
ResponseHandlerInterface handler) {
|
commonPost(context, url, params, files, handler, true);
|
}
|
|
private static void commonPost(Context context, String url,
|
LinkedHashMap<String, String> params, HashMap<String, File> files,
|
ResponseHandlerInterface handler, boolean asyn) {
|
params.put("Package", context.getPackageName());
|
int version = PackageUtils2.getVersionCode(context);
|
params.put("Version", version + "");
|
|
LinkedHashMap<String, String> map = validateParams(params);
|
RequestParams requestParams = new RequestParams(map);
|
if (BuildConfig.DEBUG) {
|
Log.i(TAG, "post url: " + url + "?" + requestParams.toString());
|
}
|
if (files != null) {
|
for (Entry<String, File> entry : files.entrySet()) {
|
try {
|
requestParams.put(entry.getKey(), entry.getValue());
|
} catch (FileNotFoundException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
if (asyn) {
|
asyncHttpClient.post(context, url, requestParams, handler);
|
} else {
|
syncHttpClient.post(context, url, requestParams, handler);
|
}
|
}
|
|
public static void commonGet(Context context, String url,
|
RequestParams params, ResponseHandlerInterface handler, boolean asyn) {
|
if (asyn) {
|
asyncHttpClient.get(context, url, params, handler);
|
} else {
|
syncHttpClient.get(context, url, params, handler);
|
}
|
}
|
|
public static void commonGet(Context context, String url,
|
ResponseHandlerInterface handler, boolean asyn) {
|
if (asyn) {
|
asyncHttpClient.get(context, url, handler);
|
} else {
|
syncHttpClient.get(context, url, handler);
|
}
|
|
}
|
}
|