You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

206 lines
6.4 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.rehome.zhdcoa.utils;
import android.app.Activity;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
import com.google.gson.Gson;
import com.rehome.zhdcoa.Api;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.R;
import com.rehome.zhdcoa.base.BaseCallBack;
import com.rehome.zhdcoa.bean.ResultBean;
import com.rehome.zhdcoa.bean.RowsBean;
import com.rehome.zhdcoa.bean.SubmitRecommendationsBean;
import com.rehome.zhdcoa.ui.toastview.toastviewbymyself;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Response;
/**
* Created by Rehome-rjb1 on 2017/5/19.
* 所有申请保存的工具类
*/
public class SaveApplyUtils {
//private final Api api;
private static Builder builder;
private Activity mContext;
private SaveApplyUtils(Activity context) {
//api = HttpUtils.getApi(context);
this.mContext=context;
init();
}
private void init() {
String url = Contans.BASE_URL + Contans.APPLY_SAVE_URL;
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.POST);
String jsonEncrypt = RSAUtils.encryptBASE64Str(builder.json);
request.setDefineRequestBodyForJson(jsonEncrypt);
NohttpUtils.getInstance().add(mContext, 0, "正在提交数据...", request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {
showLog("----------------");
String resultStr = response.get();
String jsonDecode = RSAUtils.decryptBASE64StrClient(resultStr);
showLog(resultStr);
showLog(jsonDecode);
if (TextUtils.isEmpty(jsonDecode)) {
showToast(UiUtlis.getString(mContext, R.string.data_error));
} else {
ResultBean bean = GsonUtils.GsonToBean(jsonDecode, ResultBean.class);
if (bean != null) {
String result = bean.getRows().get(0).getResult();
String msg = bean.getRows().get(0).getMsg();
//1成功0失败2异常,3无权限
if (result.equals("1")) {
Toast.makeText(builder.context, msg, Toast.LENGTH_SHORT).show();
builder.listener.onSuccess();
} else {
Toast.makeText(builder.context, msg, Toast.LENGTH_SHORT).show();
builder.listener.onError();
}
}
}
}
@Override
public void onFailed(int what, com.yolanda.nohttp.rest.Response<String> response) {
}
});
// RequestBody body = RequestBody.create(MediaType.parse("application/json"), builder.json);
// api.saveApply(body).enqueue(new BaseCallBack<ResultBean>(builder.context) {
// @Override
// public void onSuccess(Call<ResultBean> call, Response<ResultBean> response) {
// ResultBean bean = response.body();
// if (bean != null) {
// String result = bean.getRows().get(0).getResult();
// String msg = bean.getRows().get(0).getMsg();
// Log.i("app",new Gson().toJson(bean));
//
//
// //1成功0失败2异常,3无权限
// if (result.equals("1")) {
// Toast.makeText(builder.context, msg, Toast.LENGTH_SHORT).show();
// builder.listener.onSuccess();
// } else {
// Toast.makeText(builder.context, msg, Toast.LENGTH_SHORT).show();
// builder.listener.onError();
// }
// }
// }
//
// @Override
// public void onError(Call<ResultBean> call, Throwable t) {
// builder.listener.onError();
// }
// });
}
public static Builder newBuilder() {
builder = new SaveApplyUtils.Builder();
return builder;
}
public static class Builder {
private String json;
private Activity context;
private SaveApplyUtilsListener listener;
public Builder setjson(String json) {
this.json = json;
return builder;
}
public Builder setListener(SaveApplyUtilsListener listener) {
this.listener = listener;
return builder;
}
public SaveApplyUtils builder(Activity context) {
this.context = context;
valida();
return new SaveApplyUtils(context);
}
private void valida() {
if (this.context == null) {
throw new RuntimeException("context不能为空");
}
if (this.listener == null) {
throw new RuntimeException("listener不能为空");
}
if (TextUtils.isEmpty(this.json)) {
throw new RuntimeException("json不能为空");
}
}
}
public interface SaveApplyUtilsListener {
void onSuccess();
void onError();
}
public void showLog(String logText) {
if (isApkInDebug(mContext)) {
if(TextUtils.isEmpty(logText)){
Log.i("app", "logText is null");
}else{
Log.i("app", logText);
}
}
}
/**
* 判断当前应用是否是debug状态
*/
public static boolean isApkInDebug(Context context) {
try {
ApplicationInfo info = context.getApplicationInfo();
return (info.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
} catch (Exception e) {
return false;
}
}
public void showToast(String msg) {
Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();
}
public void showToast(int strId) {
Toast.makeText(mContext, strId, Toast.LENGTH_SHORT).show();
}
}