update chaterte

master
hwf453 2 years ago
parent b719906db1
commit 1e231c8cad

@ -6,7 +6,7 @@ android {
minSdk 24 minSdk 24
targetSdk 34 targetSdk 34
versionCode 1 versionCode 1
versionName "2.2.6" versionName "2.2.7"
multiDexEnabled true multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//authorities //authorities
@ -45,7 +45,7 @@ android {
//apk //apk
android.applicationVariants.all { variant -> android.applicationVariants.all { variant ->
variant.outputs.all { variant.outputs.all {
outputFileName = "app-release.apk" outputFileName = "PMMAPP.apk"
} }
} }
} }
@ -83,6 +83,7 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.github.baoyachi:StepView:1.9' implementation 'com.github.baoyachi:StepView:1.9'
implementation 'io.github.azhon:appupdate:4.2.6'
configurations { configurations {
all*.exclude group: 'com.google.code.gson' all*.exclude group: 'com.google.code.gson'
} }

@ -18,10 +18,15 @@ import android.os.Bundle;
import android.os.Parcelable; import android.os.Parcelable;
import androidx.annotation.LayoutRes; import androidx.annotation.LayoutRes;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.example.administrator.zhapp.BuildConfig;
import com.example.administrator.zhapp.R; import com.example.administrator.zhapp.R;
import com.example.administrator.zhapp.utils.ControllerActivity; import com.example.administrator.zhapp.utils.ControllerActivity;
import com.zhy.autolayout.AutoLayoutActivity; import com.zhy.autolayout.AutoLayoutActivity;
@ -272,4 +277,14 @@ public abstract class BaseActivity extends AutoLayoutActivity {
//showToast(result); //showToast(result);
//Toast.makeText(this, result, Toast.LENGTH_LONG).show(); //Toast.makeText(this, result, Toast.LENGTH_LONG).show();
} }
public void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if(TextUtils.isEmpty(logText)){
Log.i("app", "logText is null");
}else{
Log.i("app", logText);
}
}
}
} }

@ -11,7 +11,6 @@ import android.os.Environment;
import android.provider.Settings; import android.provider.Settings;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
@ -22,6 +21,7 @@ import android.widget.RadioButton;
import android.widget.RadioGroup; import android.widget.RadioGroup;
import android.widget.TextView; import android.widget.TextView;
import com.example.administrator.zhapp.BuildConfig;
import com.example.administrator.zhapp.R; import com.example.administrator.zhapp.R;
import com.example.administrator.zhapp.contans.Contans; import com.example.administrator.zhapp.contans.Contans;
import com.example.administrator.zhapp.entity.PhoneInfo; import com.example.administrator.zhapp.entity.PhoneInfo;
@ -31,9 +31,9 @@ import com.example.administrator.zhapp.utils.GsonUtils;
import com.example.administrator.zhapp.utils.HttpListener; import com.example.administrator.zhapp.utils.HttpListener;
import com.example.administrator.zhapp.utils.NetworkAvailableUtils; import com.example.administrator.zhapp.utils.NetworkAvailableUtils;
import com.example.administrator.zhapp.utils.NohttpUtils; import com.example.administrator.zhapp.utils.NohttpUtils;
import com.example.administrator.zhapp.utils.RSAUtils;
import com.example.administrator.zhapp.utils.SPUtils; import com.example.administrator.zhapp.utils.SPUtils;
import com.example.administrator.zhapp.utils.UiUtlis; import com.example.administrator.zhapp.utils.UiUtlis;
import com.example.administrator.zhapp.weight.SettingIpDialog;
import com.orhanobut.logger.Logger; import com.orhanobut.logger.Logger;
import com.xiaomi.mipush.sdk.MiPushClient; import com.xiaomi.mipush.sdk.MiPushClient;
import com.yanzhenjie.permission.AndPermission; import com.yanzhenjie.permission.AndPermission;
@ -49,7 +49,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
//import butterknife.BindView;
/** /**
* *
@ -66,21 +65,9 @@ public class LoginActivity extends BaseActivity {
CheckBox savePwUser; CheckBox savePwUser;
private String username; private String username;
private String pwd; private String pwd;
//设置是否为测试
private boolean test = false;
private long exitTime = 0; private long exitTime = 0;
//private String ip;
private String wifiip;//wifi ip
private String mobileip;//4G ip
private boolean first; private boolean first;
private boolean NETWORK_STATE;//网络状态
private String NEWWORK_TYPE;//网络类型
@Override @Override
public int getContentViewID() { public int getContentViewID() {
return R.layout.activity_login; return R.layout.activity_login;
@ -121,157 +108,89 @@ public class LoginActivity extends BaseActivity {
} }
rb1.setChecked((Boolean) SPUtils.get(context, Contans.WIFI_4G, true)); rb1.setChecked((Boolean) SPUtils.get(context, Contans.WIFI_4G, true));
rb2.setChecked(!(Boolean) SPUtils.get(context, Contans.WIFI_4G, true)); rb2.setChecked(!(Boolean) SPUtils.get(context, Contans.WIFI_4G, true));
tvVersion.setText("版本" + getVersionName()); tvVersion.setText("版本" + getVersionName());
username = (String) SPUtils.get(LoginActivity.this, Contans.USERNAME, ""); username = (String) SPUtils.get(LoginActivity.this, Contans.USERNAME, "");
pwd = (String) SPUtils.get(LoginActivity.this, "pwd", ""); String UserPwdTemp = (String) SPUtils.get(LoginActivity.this, Contans.USERPWD, "");
boolean save = (boolean) SPUtils.get(LoginActivity.this, "save", true); boolean save = (boolean) SPUtils.get(LoginActivity.this, "save", true);
savePwUser.setChecked(save); savePwUser.setChecked(save);
et_use.setText(username); et_use.setText(username);
if (save) { if (save) {
et_pwd.setText(pwd); if (!TextUtils.isEmpty(UserPwdTemp)) {
pwd = RSAUtils.decryptBASE64StrLocal(UserPwdTemp);
et_pwd.setText(pwd);
}
} }
first = (boolean) SPUtils.get(this, Contans.FIRST, true); first = (boolean) SPUtils.get(this, Contans.FIRST, true);
String wifi = (String) SPUtils.get(context, Contans.KEY_WIFI_IP, ""); // String wifi = (String) SPUtils.get(context, Contans.KEY_WIFI_IP, "");
String mob = (String) SPUtils.get(context, Contans.KEY_4G_IP, ""); // String mob = (String) SPUtils.get(context, Contans.KEY_4G_IP, "");
if (wifi.equals("") && mob.equals("")) { // if (wifi.equals("") && mob.equals("")) {
//
// //SPUtils.put(this, Contans.KEY_4G_IP, "http://192.168.2.215:9005/");
//
// SPUtils.put(this, Contans.KEY_4G_IP, "http://219.131.195.3:8081/");
// SPUtils.put(this, Contans.KEY_WIFI_IP, "http://10.19.0.72:8081/");
//
//
//// SPUtils.put(this, Contans.KEY_4G_IP, "http://192.168.2.134:8082/");
//// SPUtils.put(this, Contans.KEY_WIFI_IP, "http://192.168.2.134:8082/");
// }
SPUtils.put(this, Contans.KEY_4G_IP, "http://219.131.195.3:8081/"); if (BuildConfig.LOG_ERROR) {
SPUtils.put(this, Contans.KEY_WIFI_IP, "http://10.19.0.72:8081/");
et_use.setText("FGTL01");
et_pwd.setText("123");
// SPUtils.put(this, Contans.KEY_4G_IP, "http://192.168.2.134:8082/"); // et_use.setText("310673");
// SPUtils.put(this, Contans.KEY_WIFI_IP, "http://192.168.2.134:8082/"); // et_pwd.setText("Abcd@1234");
}
// et_use.setText("310673"); // et_use.setText("310482");
// et_pwd.setText("Abcd@1234"); // et_pwd.setText("310482");
}
// et_use.setText("FGTL01");
// et_pwd.setText("123");
} }
public void initData() { public void initData() {
findViewById(R.id.button).setOnClickListener(v -> {
wifiip = (String) SPUtils.get(context, Contans.KEY_WIFI_IP, "");
mobileip = (String) SPUtils.get(context, Contans.KEY_4G_IP, "");
final SettingIpDialog dialog = new SettingIpDialog(context);
dialog.setWifi_ip(wifiip);
dialog.setMobile_ip(mobileip);
dialog.setCancelOnClick(new View.OnClickListener() {
@Override
public void onClick(View v) {
UiUtlis.hideInput(dialog.getWifi_ip(), context);
UiUtlis.hideInput(dialog.getMobile_ip(), context);
dialog.close();
}
});
dialog.setSaveOnClick(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!TextUtils.isEmpty(dialog.getWifiIp())
&& !TextUtils.isEmpty(dialog.getMobileIp())) {
SPUtils.put(context, Contans.KEY_WIFI_IP, dialog.getWifiIp());
SPUtils.put(context, Contans.KEY_4G_IP, dialog.getMobileIp());
UiUtlis.hideInput(dialog.getWifi_ip(), context);
UiUtlis.hideInput(dialog.getMobile_ip(), context);
dialog.close();
} else {
showToast("ip不能为空");
}
}
});
});
//setTitle("生产管理移动APP登录系统"); //setTitle("生产管理移动APP登录系统");
btn_login.setOnClickListener(new View.OnClickListener() { btn_login.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
if (Contans.TEST) { if (rb1.isChecked()) {
Contans.IP = Contans.IP_INTRANET;
if (rb1.isChecked()) { //Contans.IP = "http://192.168.2.215:9005/";
if (!TextUtils.isEmpty((String) SPUtils.get(context, Contans.KEY_WIFI_IP, ""))) { showLog(Contans.IP);
Contans.IP = (String) SPUtils.get(context, Contans.KEY_WIFI_IP, ""); }
if (rb2.isChecked()) {
Contans.IP = Contans.IP_EXTRANET;
Log.e("ip", Contans.IP); //Contans.IP = "http://192.168.2.215:9005/";
showLog(Contans.IP);
} }
}
if (rb2.isChecked()) {
if (!TextUtils.isEmpty((String) SPUtils.get(context, Contans.KEY_4G_IP, ""))) {
Contans.IP = (String) SPUtils.get(context, Contans.KEY_4G_IP, "");
Log.e("ip", Contans.IP); //如果没网络,然后有账号,直接登录
if (NetworkAvailableUtils.isNetworkAvailable(context)) {
if (isLogin()) {
String json = getPhoneInfo();
showLog(json);
showLog(Contans.IP + Contans.LOGIN);
} Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.LOGIN, RequestMethod.POST);
request.setDefineRequestBodyForJson(json);
NohttpUtils.getInstance().add(LoginActivity.this, 0, request, callback, true, true, "登录中...");
} }
SPUtils.put(LoginActivity.this, Contans.USERNAME, et_use.getText().toString());
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
} else { } else {
if (isLogin()) {
if (rb1.isChecked()) { if (UiUtlis.getText(et_use).equals(SPUtils.get(context, Contans.USERNAME, ""))
if (!TextUtils.isEmpty((String) SPUtils.get(context, Contans.KEY_WIFI_IP, ""))) { && UiUtlis.getText(et_pwd).equals(SPUtils.get(context, "pwd", ""))) {
Contans.IP = (String) SPUtils.get(context, Contans.KEY_WIFI_IP, ""); Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
Log.e("ip", Contans.IP); } else {
} showToast("你还没有登录过");
}
if (rb2.isChecked()) {
if (!TextUtils.isEmpty((String) SPUtils.get(context, Contans.KEY_4G_IP, ""))) {
Contans.IP = (String) SPUtils.get(context, Contans.KEY_4G_IP, "");
Log.e("ip", Contans.IP);
}
}
//如果没网络,然后有账号,直接登录
if (NetworkAvailableUtils.isNetworkAvailable(context)) {
if (isLogin()) {
String json = getPhoneInfo();
Logger.json(json);
System.out.println(json);
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.LOGIN, RequestMethod.POST);
request.setDefineRequestBodyForJson(json);
NohttpUtils.getInstance().add(LoginActivity.this, 0, request, callback, true, true, "登录中...");
}
} else {
if (isLogin()) {
if (UiUtlis.getText(et_use).equals(SPUtils.get(context, Contans.USERNAME, ""))
&& UiUtlis.getText(et_pwd).equals(SPUtils.get(context, "pwd", ""))) {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
} else {
showToast("你还没有登录过");
}
} }
} }
} }
@ -292,14 +211,14 @@ public class LoginActivity extends BaseActivity {
@Override @Override
public void onSucceed(int what, Response<String> response) { public void onSucceed(int what, Response<String> response) {
System.out.println("login:" + response.get());
String json = response.get(); String json = response.get();
showLog(json);
UserInfo userInfo = GsonUtils.GsonToBean(json, UserInfo.class); UserInfo userInfo = GsonUtils.GsonToBean(json, UserInfo.class);
if (userInfo != null) { if (userInfo != null) {
UserInfo.User user = userInfo.getRows().get(0); UserInfo.User user = userInfo.getRows().get(0);
String status = user.getStatus(); String status = user.getStatus();
String username = user.getUsernames(); String username = user.getUsernames();
String token = user.getToken();
if (status.equals("0")) { if (status.equals("0")) {
showToast("用户名或密码错误"); showToast("用户名或密码错误");
} else if (status.equals("1")) { } else if (status.equals("1")) {
@ -312,7 +231,8 @@ public class LoginActivity extends BaseActivity {
//如果已经选中记住密码,就保存用户名和密码 //如果已经选中记住密码,就保存用户名和密码
SPUtils.put(LoginActivity.this, "save", savePwUser.isChecked()); SPUtils.put(LoginActivity.this, "save", savePwUser.isChecked());
SPUtils.put(LoginActivity.this, Contans.USERNAME, et_use.getText().toString()); SPUtils.put(LoginActivity.this, Contans.USERNAME, et_use.getText().toString());
SPUtils.put(LoginActivity.this, "pwd", et_pwd.getText().toString()); SPUtils.put(LoginActivity.this, Contans.USERPWD, RSAUtils.encryptBASE64StrLocal(et_pwd.getText().toString()));
SPUtils.put(LoginActivity.this, Contans.LOGIN_TOKEN, RSAUtils.encryptBASE64StrLocal(token));
SPUtils.put(LoginActivity.this, Contans.NAME, username); SPUtils.put(LoginActivity.this, Contans.NAME, username);
SPUtils.put(LoginActivity.this, Contans.BZBH, user.getBzbh() == null ? "" : user.getBzbh()); SPUtils.put(LoginActivity.this, Contans.BZBH, user.getBzbh() == null ? "" : user.getBzbh());
SPUtils.put(LoginActivity.this, Contans.BZMC, user.getBzmc() == null ? "" : user.getBzmc()); SPUtils.put(LoginActivity.this, Contans.BZMC, user.getBzmc() == null ? "" : user.getBzmc());

@ -1,11 +1,9 @@
package com.example.administrator.zhapp.activity; package com.example.administrator.zhapp.activity;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.DownloadManager;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@ -16,15 +14,12 @@ import android.content.pm.PackageManager;
import android.database.Cursor; import android.database.Cursor;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment; import androidx.annotation.NonNull;
import android.provider.Settings;
import androidx.core.content.FileProvider;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import android.util.Log;
import android.text.TextUtils;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
@ -34,7 +29,8 @@ import android.widget.AdapterView;
import android.widget.GridView; import android.widget.GridView;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.Toast; import android.widget.Toast;
import com.azhon.appupdate.listener.OnButtonClickListener;
import com.azhon.appupdate.listener.OnDownloadListener;
import com.example.administrator.zhapp.DBModel.AjhScInfo; import com.example.administrator.zhapp.DBModel.AjhScInfo;
import com.example.administrator.zhapp.DBModel.Ajhjh; import com.example.administrator.zhapp.DBModel.Ajhjh;
import com.example.administrator.zhapp.DBModel.Ajhxcjs; import com.example.administrator.zhapp.DBModel.Ajhxcjs;
@ -80,6 +76,7 @@ import com.example.administrator.zhapp.service.UploadDataService;
import com.example.administrator.zhapp.utils.ControllerActivity; import com.example.administrator.zhapp.utils.ControllerActivity;
import com.example.administrator.zhapp.utils.GsonUtils; import com.example.administrator.zhapp.utils.GsonUtils;
import com.example.administrator.zhapp.utils.HttpListener; import com.example.administrator.zhapp.utils.HttpListener;
import com.example.administrator.zhapp.utils.HttpUtils;
import com.example.administrator.zhapp.utils.NetworkAvailableUtils; import com.example.administrator.zhapp.utils.NetworkAvailableUtils;
import com.example.administrator.zhapp.utils.NohttpUtils; import com.example.administrator.zhapp.utils.NohttpUtils;
import com.example.administrator.zhapp.utils.SPUtils; import com.example.administrator.zhapp.utils.SPUtils;
@ -95,6 +92,8 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import retrofit2.Call;
public class MainActivity extends BaseActivity { public class MainActivity extends BaseActivity {
@ -108,7 +107,6 @@ public class MainActivity extends BaseActivity {
private List<BasicDataBean2.DataBean> zys2; private List<BasicDataBean2.DataBean> zys2;
private List<String> dialogDatas; private List<String> dialogDatas;
private List<String> dialogDatas2; private List<String> dialogDatas2;
DownloadManager DM, mDownloadManager;
private long downloadId; private long downloadId;
private boolean isTask = false;//是否有任务 private boolean isTask = false;//是否有任务
private long exitTime = 0; private long exitTime = 0;
@ -219,7 +217,7 @@ public class MainActivity extends BaseActivity {
beanList.addAll(getGridViewData(isTask)); beanList.addAll(getGridViewData(isTask));
gv.setSelector(new ColorDrawable(Color.TRANSPARENT)); gv.setSelector(new ColorDrawable(Color.TRANSPARENT));
adapter = new GridViewAdapter(this, beanList, item, Contans.TEST); adapter = new GridViewAdapter(this, beanList, item, false);
gv.setAdapter(adapter); gv.setAdapter(adapter);
@ -714,43 +712,30 @@ public class MainActivity extends BaseActivity {
public void onSucceed(int what, Response<String> response) { public void onSucceed(int what, Response<String> response) {
try { try {
ApkUpdateBean bean = GsonUtils.GsonToBean(response.get(), ApkUpdateBean.class); String result = response.get();
ApkUpdateBean appUploadInfo = GsonUtils.GsonToBean(result, ApkUpdateBean.class);
if (bean != null) {
if (appUploadInfo != null) {
if (!bean.getTotal().equals("0")) { if (appUploadInfo.getTotal().equals("1")) {
showLog(result);
final ApkUpdateBean.RowsBean versoinInfo = bean.getRows().get(0); String appURL = appUploadInfo.getRows().get(0).getApkurl();
String appversionname = appUploadInfo.getRows().get(0).getVersionname();
Log.e("Versioncode", versoinInfo.getVersioncode()); String versioncode = appUploadInfo.getRows().get(0).getVersioncode();
Log.e("Versionname", versoinInfo.getVersionname()); String appdesc = appUploadInfo.getRows().get(0).getAppdesc();
Log.e("getVersionname", getVersionName());
Log.e("Apkur", versoinInfo.getApkurl()); // showLog(getVersionName());
Log.e("Apkur2", versoinInfo.getApkurl2()); // showLog(appversionname);
// showLog(versioncode);
// showLog(getVersionName());
if (!versoinInfo.getVersionname().equals(getVersionName())) {
dialog = new AuditDialog(context, "发现新版本,是否更新?", new AuditDialog.AuditDialogListener() {
@Override if (!appversionname.equals(getVersionName())) {
public void confirm() { if(TextUtils.isEmpty(appdesc)){
Uri uri = Uri.parse("https://www.pgyer.com/iCaX"); appdesc = "1.登录接口调整。\n2.所有接口增加token认证";
Intent intent = new Intent(Intent.ACTION_VIEW, uri); }
startActivity(intent); DownloadAndInstall(appURL, appversionname, appdesc, versioncode);
}
@Override
public void cancel() {
}
});
dialog.show();
} }
} }
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -766,129 +751,67 @@ public class MainActivity extends BaseActivity {
} }
private void DownloadAndInstall(String downloadURL, String versionName, String description, String versionCode) {
new com.azhon.appupdate.manager.DownloadManager.Builder(this)
.apkUrl(downloadURL)
.apkName("设备设施巡查.apk")
.smallIcon(R.mipmap.logo1)
.showNewerToast(false)
.apkVersionCode(Integer.parseInt(versionCode))
.apkVersionName(versionName)
.apkDescription(description)
.enableLog(true)
.jumpInstallPage(true)
.dialogButtonTextColor(Color.WHITE)
.dialogButtonColor(Color.parseColor("#FF8247"))
.dialogProgressBarColor(Color.parseColor("#FF8247"))
.showNotification(true)
.showBgdToast(true)
.forcedUpgrade(true)
.onDownloadListener(new OnDownloadListener() {
@Override
public void start() {
/**
* APK
*
* @param url
*/
private void downLoadApk(String url) {
final String packageName = "com.example.administrator.zhapp";
int state = context.getPackageManager().getApplicationEnabledSetting(packageName);
//检测下载管理器是否被禁用
if (state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED
|| state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
|| state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED) {
AlertDialog.Builder builder = new AlertDialog.Builder(context).setTitle("温馨提示").setMessage
("系统下载管理器被禁止,需手动打开").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
try {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + packageName));
context.startActivity(intent);
} catch (ActivityNotFoundException e) {
Intent intent = new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
context.startActivity(intent);
} }
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
} else {
//正常下载流程
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setAllowedOverRoaming(false);
//通知栏显示
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setTitle("设备设施巡查");
request.setDescription("正在下载中...");
request.setVisibleInDownloadsUi(true);
//设置下载的路径
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "设备设施巡查.apk");
//获取DownloadManager
mDownloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
downloadId = mDownloadManager.enqueue(request);
context.registerReceiver(mReceiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); @Override
} public void downloading(int i, int i1) {
}
private BroadcastReceiver mReceiver = new BroadcastReceiver() { }
@Override
public void onReceive(Context context, Intent intent) {
checkStatus();
}
};
private void checkStatus() { @Override
DownloadManager.Query query = new DownloadManager.Query(); public void done(@NonNull File file) {
query.setFilterById(downloadId);
Cursor cursor = mDownloadManager.query(query);
if (cursor.moveToFirst()) {
@SuppressLint("Range") int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
switch (status) {
//下载暂停
case DownloadManager.STATUS_PAUSED:
break;
//下载延迟
case DownloadManager.STATUS_PENDING:
break;
//正在下载
case DownloadManager.STATUS_RUNNING:
break;
//下载完成
case DownloadManager.STATUS_SUCCESSFUL:
installAPK();
break;
//下载失败
case DownloadManager.STATUS_FAILED:
Toast.makeText(context, "下载失败", Toast.LENGTH_SHORT).show();
break;
}
}
cursor.close();
}
/** }
* 7.0
*/
private void installAPK() {
Intent intent = new Intent(Intent.ACTION_VIEW); @Override
public void cancel() {
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); }
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "/com.example.administrator.zhapp/"; @Override
public void error(@NonNull Throwable throwable) {
String fileName = "设备设施巡查.apk"; }
}).onButtonClickListener(new OnButtonClickListener() {
@Override
public void onButtonClick(int i) {
File apkFile = new File(path + fileName); }
}).build().download();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { private String getVersionName() {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); PackageManager pm = getPackageManager();
Uri apkUri = FileProvider.getUriForFile(context, context.getPackageName() + ".fileprovider", apkFile); try {
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); return packageInfo.versionName;
} else { } catch (Exception e) {
intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-a rchive"); e.printStackTrace();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
} }
context.startActivity(intent); return null;
} }
private void initDialogDatas() { private void initDialogDatas() {
for (BasicDataBean.DataBean bean : zys) { for (BasicDataBean.DataBean bean : zys) {
@ -922,19 +845,19 @@ public class MainActivity extends BaseActivity {
} }
private String getVersionName() { // private String getVersionName() {
//1,包管理者对象packageManager // //1,包管理者对象packageManager
PackageManager pm = getPackageManager(); // PackageManager pm = getPackageManager();
//2,从包的管理者对象中,获取指定包名的基本信息(版本名称,版本号),传0代表获取基本信息 // //2,从包的管理者对象中,获取指定包名的基本信息(版本名称,版本号),传0代表获取基本信息
try { // try {
PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0); // PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);
//3,获取版本名称 // //3,获取版本名称
return packageInfo.versionName; // return packageInfo.versionName;
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
} // }
return null; // return null;
} // }
@Override @Override
protected void onDestroy() { protected void onDestroy() {

@ -290,7 +290,7 @@ public class WztpScActivity extends BaseActivity {
File wztpuploadfile = new File(path + stEndName); File wztpuploadfile = new File(path + stEndName);
RequestBody requestFile = RequestBody.create(MediaType.parse("image/*"), wztpuploadfile); RequestBody requestFile = RequestBody.create(MediaType.parse("image/*"), wztpuploadfile);
MultipartBody.Part body = MultipartBody.Part.createFormData("fileps", wztpuploadfile.getName(), requestFile); MultipartBody.Part body = MultipartBody.Part.createFormData("fileps", wztpuploadfile.getName(), requestFile);
HttpUtils.getApi().uploadwztp( HttpUtils.getApi(context).uploadwztp(
wztp.getItemnum(), wztp.getItemnum(),
wztp.getItemid(), wztp.getItemid(),
username, username,

@ -13,7 +13,10 @@ public class Contans {
public static String IP = ""; public static String IP = "";
public static String CK_BASE_IP ="http://10.19.0.13:80/"; public static String IP_INTRANET = "http://10.19.0.72:8081/";
public static String IP_EXTRANET = "http://219.131.195.3:8081/";
public static String CK_BASE_IP = "http://10.19.0.13:80/";
public static String UpdateIP = "http://219.131.195.3:8081/"; public static String UpdateIP = "http://219.131.195.3:8081/";
@ -29,6 +32,8 @@ public static String CK_BASE_IP ="http://10.19.0.13:80/";
public static String PRINT = "AppTXM/GetData.aspx"; public static String PRINT = "AppTXM/GetData.aspx";
public final static String LOGIN_TOKEN = "LOGIN_TOKEN";
// public static String UPLOADAPP = "ApkUpdate/GetData.aspx"; // public static String UPLOADAPP = "ApkUpdate/GetData.aspx";
//-----------------------移动仓库管理--------------------------// //-----------------------移动仓库管理--------------------------//
@ -189,7 +194,6 @@ public static String CK_BASE_IP ="http://10.19.0.13:80/";
public static String XAQKSB = "AJH/XASB/SaveData.ashx";//卸氨上报--新增 public static String XAQKSB = "AJH/XASB/SaveData.ashx";//卸氨上报--新增
public final static int IMAGE_RESULT = 10; public final static int IMAGE_RESULT = 10;
public final static int SBXJZT_WWC = 0; public final static int SBXJZT_WWC = 0;
public final static int SBXJZT_ZC = 1; public final static int SBXJZT_ZC = 1;
@ -260,18 +264,16 @@ public static String CK_BASE_IP ="http://10.19.0.13:80/";
//用户信息 //用户信息
public final static String PERMISSIONSRESULT = "PermissionsResult"; public final static String PERMISSIONSRESULT = "PermissionsResult";
public final static String USERNAME = "enterby"; public final static String USERNAME = "enterby";
public final static String USERPWD = "USERPWD";
public final static String BZBH = "bzbh"; public final static String BZBH = "bzbh";
public final static String SITEID = "SITEID"; public final static String SITEID = "SITEID";
public final static String ORGID = "ORGID"; public final static String ORGID = "ORGID";
public final static String BZMC = "bzmc"; public final static String BZMC = "bzmc";
public final static String NAME = "username"; public final static String NAME = "username";
public static boolean NEWWORK_STATE;//网络状态 public static boolean NEWWORK_STATE;//网络状态
public static boolean TEST = false;
public static String PRINTIP = "10.19.110.19";//打印机的IP public static String PRINTIP = "10.19.110.19";//打印机的IP
} }

@ -37,6 +37,8 @@ public class ApkUpdateBean {
private String apkurl2; private String apkurl2;
private String bz; private String bz;
private String appdesc="";
public String getApkurl2() { public String getApkurl2() {
return apkurl2; return apkurl2;
} }
@ -77,5 +79,13 @@ public class ApkUpdateBean {
public void setBz(String bz) { public void setBz(String bz) {
this.bz = bz; this.bz = bz;
} }
public String getAppdesc() {
return appdesc;
}
public void setAppdesc(String appdesc) {
this.appdesc = appdesc;
}
} }
} }

@ -36,6 +36,7 @@ public class UserInfo {
private String PermissionsResult; private String PermissionsResult;
private String SITEID; private String SITEID;
private String ORGID; private String ORGID;
private String token;
public String getPermissionsResult() { public String getPermissionsResult() {
return PermissionsResult; return PermissionsResult;
@ -92,5 +93,13 @@ public class UserInfo {
public void setORGID(String ORGID) { public void setORGID(String ORGID) {
this.ORGID = ORGID; this.ORGID = ORGID;
} }
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
} }
} }

@ -7,11 +7,16 @@ import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Toast; import android.widget.Toast;
import com.example.administrator.zhapp.BuildConfig;
/** /**
* Created by Administrator on 2016/9/icon5. * Created by Administrator on 2016/9/icon5.
*/ */
@ -70,4 +75,14 @@ public abstract class BaseFragment extends Fragment {
public void showToast(int strId) { public void showToast(int strId) {
Toast.makeText(getContext(), strId, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), strId, Toast.LENGTH_SHORT).show();
} }
public void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if (TextUtils.isEmpty(logText)) {
Log.i("app", "logText is null");
} else {
Log.i("app", logText);
}
}
}
} }

@ -3,6 +3,8 @@ package com.example.administrator.zhapp.fragment.sbxdjgl;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.DialogInterface; import android.content.DialogInterface;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.Button; import android.widget.Button;
@ -25,6 +27,7 @@ import com.example.administrator.zhapp.fragment.BaseFragment;
import com.example.administrator.zhapp.utils.GsonUtils; import com.example.administrator.zhapp.utils.GsonUtils;
import com.example.administrator.zhapp.utils.HttpListener; import com.example.administrator.zhapp.utils.HttpListener;
import com.example.administrator.zhapp.utils.HttpResponseListener; import com.example.administrator.zhapp.utils.HttpResponseListener;
import com.example.administrator.zhapp.utils.RSAUtils;
import com.example.administrator.zhapp.utils.SPUtils; import com.example.administrator.zhapp.utils.SPUtils;
import com.example.administrator.zhapp.utils.UiUtlis; import com.example.administrator.zhapp.utils.UiUtlis;
import com.example.administrator.zhapp.weight.WaitDialog; import com.example.administrator.zhapp.weight.WaitDialog;
@ -374,6 +377,19 @@ public class DjdscFragment extends BaseFragment {
//计划 //计划
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHSC, RequestMethod.POST); Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHSC, RequestMethod.POST);
request.setDefineRequestBodyForJson(UiUtlis.encoder(json)); request.setDefineRequestBodyForJson(UiUtlis.encoder(json));
String tokenTemp = (String) SPUtils.get(mActivity, Contans.LOGIN_TOKEN, "");
if(!TextUtils.isEmpty(tokenTemp)){
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// if(!TextUtils.isEmpty(token)){
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
// }
}
queue.add(0, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, "")); queue.add(0, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, ""));
//NohttpUtils.getInstance().add(getActivity(), 0, request, callback, true, false, "上传中..."); //NohttpUtils.getInstance().add(getActivity(), 0, request, callback, true, false, "上传中...");
@ -388,6 +404,18 @@ public class DjdscFragment extends BaseFragment {
System.out.println(qxgdjson); System.out.println(qxgdjson);
qxgdjson = new String(qxgdjson.getBytes(), StandardCharsets.UTF_8); qxgdjson = new String(qxgdjson.getBytes(), StandardCharsets.UTF_8);
request1.setDefineRequestBodyForJson(UiUtlis.encoder(qxgdjson)); request1.setDefineRequestBodyForJson(UiUtlis.encoder(qxgdjson));
if(!TextUtils.isEmpty(tokenTemp)){
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request1.addHeader("Authorization", credential);
showLog(request.url());
// if(!TextUtils.isEmpty(token)){
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
// }
}
queue.add(1, request1, new HttpResponseListener<>(getActivity(), request1, callback, false, false, "")); queue.add(1, request1, new HttpResponseListener<>(getActivity(), request1, callback, false, false, ""));
//NohttpUtils.getInstance().add(getActivity(), 1, request1, callback, true, false, "上传中..."); //NohttpUtils.getInstance().add(getActivity(), 1, request1, callback, true, false, "上传中...");
} }
@ -400,6 +428,18 @@ public class DjdscFragment extends BaseFragment {
"&jhid=" + UiUtlis.encoder(info.getJhid()) + "&pointnum=" + UiUtlis.encoder(info.getPointnum()) + "&jhid=" + UiUtlis.encoder(info.getJhid()) + "&pointnum=" + UiUtlis.encoder(info.getPointnum()) +
"&djr=" + UiUtlis.encoder(info.getDjr()), RequestMethod.POST); "&djr=" + UiUtlis.encoder(info.getDjr()), RequestMethod.POST);
xcjs.add(Contans.FILEPS, new FileBinary(new File(info.getFilename()))); xcjs.add(Contans.FILEPS, new FileBinary(new File(info.getFilename())));
if(!TextUtils.isEmpty(tokenTemp)){
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
xcjs.addHeader("Authorization", credential);
showLog(request.url());
// if(!TextUtils.isEmpty(token)){
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
// }
}
queue.add(2, xcjs, new HttpResponseListener<>(getActivity(), xcjs, callback, false, false, "")); queue.add(2, xcjs, new HttpResponseListener<>(getActivity(), xcjs, callback, false, false, ""));
//NohttpUtils.getInstance().add(getActivity(), 2, xcjs, callback, true, false, "上传中..."); //NohttpUtils.getInstance().add(getActivity(), 2, xcjs, callback, true, false, "上传中...");

@ -3,6 +3,7 @@ package com.example.administrator.zhapp.fragment.sbxdjgl;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;
@ -27,6 +28,8 @@ import com.example.administrator.zhapp.fragment.BaseFragment;
import com.example.administrator.zhapp.utils.GsonUtils; import com.example.administrator.zhapp.utils.GsonUtils;
import com.example.administrator.zhapp.utils.HttpListener; import com.example.administrator.zhapp.utils.HttpListener;
import com.example.administrator.zhapp.utils.HttpResponseListener; import com.example.administrator.zhapp.utils.HttpResponseListener;
import com.example.administrator.zhapp.utils.RSAUtils;
import com.example.administrator.zhapp.utils.SPUtils;
import com.example.administrator.zhapp.utils.UiUtlis; import com.example.administrator.zhapp.utils.UiUtlis;
import com.example.administrator.zhapp.weight.WaitDialog; import com.example.administrator.zhapp.weight.WaitDialog;
import com.yolanda.nohttp.NoHttp; import com.yolanda.nohttp.NoHttp;
@ -203,6 +206,19 @@ public class XzjhFragment extends BaseFragment {
selectCount++; selectCount++;
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHDLB); Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHDLB);
request.add("JHID", UiUtlis.encoder(jhid)); request.add("JHID", UiUtlis.encoder(jhid));
String tokenTemp = (String) SPUtils.get(mActivity, Contans.LOGIN_TOKEN, "");
if(!TextUtils.isEmpty(tokenTemp)){
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// if(!TextUtils.isEmpty(token)){
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
// }
}
queue.add(1, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, "")); queue.add(1, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, ""));
} }

@ -93,10 +93,10 @@ public class PushService extends IntentService {
} }
Request<String> qy = NoHttp.createStringRequest(Contans.IP + Contans.QY); Request<String> qy = NoHttp.createStringRequest(Contans.IP + Contans.QY);
NohttpUtils.getInstance().add(null, 12, qy, callback, false, false, ""); NohttpUtils.getInstance().addNoProgress(this, 12, qy, callback);
Request<String> ck_ip = NoHttp.createStringRequest(Contans.IP + Contans.GET_CK_IP); Request<String> ck_ip = NoHttp.createStringRequest(Contans.IP + Contans.GET_CK_IP);
NohttpUtils.getInstance().add(null, 14, ck_ip, callback, false, false, ""); NohttpUtils.getInstance().addNoProgress(this, 14, ck_ip, callback);
for (int i = 0; i < what.length; i++) { for (int i = 0; i < what.length; i++) {
@ -106,28 +106,28 @@ public class PushService extends IntentService {
Request<String> xfbw = NoHttp.createStringRequest(Contans.IP + Contans.XFDJJHALL); Request<String> xfbw = NoHttp.createStringRequest(Contans.IP + Contans.XFDJJHALL);
String str = (String) SPUtils.get(getApplicationContext(), Contans.BZBH, "152145221"); String str = (String) SPUtils.get(getApplicationContext(), Contans.BZBH, "152145221");
xfbw.add("bzbh", UiUtlis.encoder(str)); xfbw.add("bzbh", UiUtlis.encoder(str));
NohttpUtils.getInstance().add(null, 0, xfbw, callback, false, false, ""); NohttpUtils.getInstance().addNoProgress(this, 0, xfbw, callback);
break; break;
//点检 //点检
case 1: case 1:
Request<String> dj = NoHttp.createStringRequest(Contans.IP + Contans.DJJHLIST); Request<String> dj = NoHttp.createStringRequest(Contans.IP + Contans.DJJHLIST);
dj.add("BZMC", UiUtlis.encoder((String) SPUtils.get(getApplicationContext(), Contans.BZBH, "12108080101"))); dj.add("BZMC", UiUtlis.encoder((String) SPUtils.get(getApplicationContext(), Contans.BZBH, "12108080101")));
NohttpUtils.getInstance().add(null, 1, dj, callback, false, false, "加载中..."); NohttpUtils.getInstance().addNoProgress(this, 1, dj, callback);
Request<String> zy = NoHttp.createStringRequest(Contans.IP + Contans.QXGDZY); Request<String> zy = NoHttp.createStringRequest(Contans.IP + Contans.QXGDZY);
NohttpUtils.getInstance().add(null, 11, zy, callback, false, false, ""); NohttpUtils.getInstance().addNoProgress(this, 11, zy, callback);
break; break;
//安建环 //安建环
case 2: case 2:
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.AJHJHLIST); Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.AJHJHLIST);
request.add("BZMC", UiUtlis.encoder((String) SPUtils.get(getApplicationContext(), Contans.BZBH, "12108030201"))); request.add("BZMC", UiUtlis.encoder((String) SPUtils.get(getApplicationContext(), Contans.BZBH, "12108030201")));
NohttpUtils.getInstance().add(null, 2, request, callback, false, false, ""); NohttpUtils.getInstance().addNoProgress(this, 2, request, callback);
break; break;
//行为安全观察 //行为安全观察
case 3: case 3:
Request<String> xwaq = NoHttp.createStringRequest(Contans.IP + Contans.XWAQGC); Request<String> xwaq = NoHttp.createStringRequest(Contans.IP + Contans.XWAQGC);
xwaq.add("gh", (String) SPUtils.get(getApplicationContext(), Contans.USERNAME, "310194")); xwaq.add("gh", (String) SPUtils.get(getApplicationContext(), Contans.USERNAME, "310194"));
NohttpUtils.getInstance().add(null, 3, xwaq, callback, false, false, ""); NohttpUtils.getInstance().addNoProgress(this, 3, xwaq, callback);
break; break;
} }
} }

@ -3,7 +3,10 @@ package com.example.administrator.zhapp.service;
import android.app.IntentService; import android.app.IntentService;
import android.content.Intent; import android.content.Intent;
import android.content.Context; import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import com.example.administrator.zhapp.BuildConfig;
import com.example.administrator.zhapp.DBModel.AjhScInfo; import com.example.administrator.zhapp.DBModel.AjhScInfo;
import com.example.administrator.zhapp.DBModel.Ajhjh; import com.example.administrator.zhapp.DBModel.Ajhjh;
import com.example.administrator.zhapp.DBModel.Ajhxcjs; import com.example.administrator.zhapp.DBModel.Ajhxcjs;
@ -581,4 +584,13 @@ public class UploadDataService extends IntentService {
Logger.json(json); Logger.json(json);
return json; return json;
} }
public void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if(TextUtils.isEmpty(logText)){
Log.i("app", "logText is null");
}else{
Log.i("app", logText);
}
}
}
} }

@ -1,2 +1,88 @@
package com.example.administrator.zhapp.utils;public class HttpResponseListenerNoProgress { package com.example.administrator.zhapp.utils;
}
import android.app.Activity;
import android.widget.Toast;
import com.yolanda.nohttp.error.NetworkError;
import com.yolanda.nohttp.error.TimeoutError;
import com.yolanda.nohttp.error.URLError;
import com.yolanda.nohttp.error.UnKnownHostError;
import com.yolanda.nohttp.rest.OnResponseListener;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.Response;
/**
* NoHttp
*/
public class HttpResponseListenerNoProgress<T> implements OnResponseListener {
/**
*
*/
private Request<T> mRequest;
/**
*
*/
private HttpListener<T> callback;
/**
* @param mRequest
* @param callback
*/
public HttpResponseListenerNoProgress(final Request<T> mRequest, HttpListener<T> callback) {
this.mRequest = mRequest;
this.callback = callback;
}
/**
*
*
* @param what
*/
@Override
public void onStart(int what) {
}
/**
*
*
* @param what
* @param response
*/
@Override
public void onSucceed(int what, Response response) {
if (callback != null) {
try {
callback.onSucceed(what, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
*
*
* @param what
* @param response
*/
@Override
public void onFailed(int what, Response response) {
if (callback != null)
callback.onFailed(what, response);
}
/**
*
*
* @param what
*/
@Override
public void onFinish(int what) {
}
}

@ -1,8 +1,12 @@
package com.example.administrator.zhapp.utils; package com.example.administrator.zhapp.utils;
import android.content.Context; import android.content.Context;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull;
import com.example.administrator.zhapp.BuildConfig;
import com.example.administrator.zhapp.contans.Contans; import com.example.administrator.zhapp.contans.Contans;
import java.io.IOException; import java.io.IOException;
@ -40,21 +44,21 @@ public class HttpUtils {
private HttpUtils(Context context, String url) { private HttpUtils(Context context, String url) {
Retrofit mRetrofit = new Retrofit.Builder() Retrofit mRetrofit = new Retrofit.Builder()
.baseUrl(url) .baseUrl(url)
.client(getOkHttpClient()) .client(getOkHttpClient(context))
.addConverterFactory(GsonConverterFactory.create()) .addConverterFactory(GsonConverterFactory.create())
.build(); .build();
api = mRetrofit.create(Api.class); api = mRetrofit.create(Api.class);
HttpUtils.context = context; HttpUtils.context = context;
} }
public static Api getApi() { public static Api getApi(Context context) {
return getApi(Contans.IP); return getApi(Contans.IP, context);
} }
public static Api getDownLoadApi() { public static Api getDownLoadApi(Context context) {
Retrofit mRetrofit = new Retrofit.Builder() Retrofit mRetrofit = new Retrofit.Builder()
.client(getOkHttpClient()) .client(getOkHttpClient(context))
.addConverterFactory(GsonConverterFactory.create()) .addConverterFactory(GsonConverterFactory.create())
.build(); .build();
Api api = mRetrofit.create(Api.class); Api api = mRetrofit.create(Api.class);
@ -62,11 +66,11 @@ public class HttpUtils {
return api; return api;
} }
public static Api getApi(String url) { public static Api getApi(String url, Context context) {
Retrofit mRetrofit = new Retrofit.Builder() Retrofit mRetrofit = new Retrofit.Builder()
.baseUrl(url) .baseUrl(url)
.client(getOkHttpClient()) .client(getOkHttpClient(context))
.addConverterFactory(GsonConverterFactory.create()) .addConverterFactory(GsonConverterFactory.create())
.build(); .build();
Api api = mRetrofit.create(Api.class); Api api = mRetrofit.create(Api.class);
@ -75,12 +79,10 @@ public class HttpUtils {
} }
private static OkHttpClient getOkHttpClient(Context context) {
HttpUtils.context = context;
private static OkHttpClient getOkHttpClient() { OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.addNetworkInterceptor(new TokenHeaderInterceptor());
OkHttpClient.Builder httpClientBuilder = new OkHttpClient
.Builder();
//OkHttp进行添加拦截器loggingInterceptor //OkHttp进行添加拦截器loggingInterceptor
httpClientBuilder.addInterceptor(new LoggingInterceptor()); httpClientBuilder.addInterceptor(new LoggingInterceptor());
@ -92,6 +94,22 @@ public class HttpUtils {
return httpClientBuilder.build(); return httpClientBuilder.build();
} }
public static class TokenHeaderInterceptor implements Interceptor {
@NonNull
@Override
public Response intercept(@NonNull Chain chain) throws IOException {
String tokenTemp = (String) SPUtils.get(context, Contans.LOGIN_TOKEN, "");
if (!TextUtils.isEmpty(tokenTemp)) {
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);
String credential = "Bearer " + token;
Request originalRequest = chain.request();
Request updateRequest = originalRequest.newBuilder().header("Authorization", credential).build();
return chain.proceed(updateRequest);
}
return chain.proceed(chain.request());
}
}
public static class LoggingInterceptor implements Interceptor { public static class LoggingInterceptor implements Interceptor {
@Override @Override
public Response intercept(Interceptor.Chain chain) throws IOException { public Response intercept(Interceptor.Chain chain) throws IOException {
@ -99,7 +117,7 @@ public class HttpUtils {
Request request = chain.request(); Request request = chain.request();
long t1 = System.nanoTime();//请求发起的时间 long t1 = System.nanoTime();//请求发起的时间
Log.d("okhttpmsg", String.format("发送请求 %s on %s%n%s", showLog(String.format("发送请求 %s on %s%n%s",
request.url(), chain.connection(), request.headers())); request.url(), chain.connection(), request.headers()));
Response response = chain.proceed(request); Response response = chain.proceed(request);
@ -111,7 +129,7 @@ public class HttpUtils {
//个新的response给应用层处理 //个新的response给应用层处理
ResponseBody responseBody = response.peekBody(1024 * 1024); ResponseBody responseBody = response.peekBody(1024 * 1024);
Log.d("okhttpmsg", String.format("接收响应: [%s] %n返回json:【%s】 %.1fms%n%s", showLog(String.format("接收响应: [%s] %n返回json:【%s】 %.1fms%n%s",
response.request().url(), response.request().url(),
responseBody.string(), responseBody.string(),
(t2 - t1) / 1e6d, (t2 - t1) / 1e6d,
@ -120,4 +138,14 @@ public class HttpUtils {
return response; return response;
} }
} }
public static void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if (TextUtils.isEmpty(logText)) {
Log.i("app", "logText is null");
} else {
Log.i("app", logText);
}
}
}
} }

@ -1,7 +1,12 @@
package com.example.administrator.zhapp.utils; package com.example.administrator.zhapp.utils;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import com.example.administrator.zhapp.BuildConfig;
import com.example.administrator.zhapp.contans.Contans;
import com.yolanda.nohttp.NoHttp; import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.download.DownloadQueue; import com.yolanda.nohttp.download.DownloadQueue;
import com.yolanda.nohttp.rest.Request; import com.yolanda.nohttp.rest.Request;
@ -62,14 +67,61 @@ public class NohttpUtils {
* @param <T> * @param <T>
*/ */
public <T> void add(Activity mActivity, int what, Request<T> request, HttpListener<T> callback, boolean canCanel, boolean isLoading, String msg) { public <T> void add(Activity mActivity, int what, Request<T> request, HttpListener<T> callback, boolean canCanel, boolean isLoading, String msg) {
String tokenTemp = (String) SPUtils.get(mActivity, Contans.LOGIN_TOKEN, "");
if(!TextUtils.isEmpty(tokenTemp)){
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// if(!TextUtils.isEmpty(token)){
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
// }
}
mQueue.add(what, request, new HttpResponseListener<T>(mActivity, request, callback, canCanel, isLoading, msg)); mQueue.add(what, request, new HttpResponseListener<T>(mActivity, request, callback, canCanel, isLoading, msg));
} }
public <T> void add(Activity mActivity, int what, Request<T> request, HttpListener<T> callback) { public <T> void add(Activity mActivity, int what, Request<T> request, HttpListener<T> callback) {
String tokenTemp = (String) SPUtils.get(mActivity, Contans.LOGIN_TOKEN, "");
if(!TextUtils.isEmpty(tokenTemp)){
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// if(!TextUtils.isEmpty(token)){
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
// }
}
mQueue.add(what, request, new HttpResponseListener<T>(mActivity, request, callback, true, true, "加载中...")); mQueue.add(what, request, new HttpResponseListener<T>(mActivity, request, callback, true, true, "加载中..."));
} }
public <T> void addNoProgress(Context context, int what, Request<T> request, HttpListener<T> callback) {
String tokenTemp = (String) SPUtils.get(context, Contans.LOGIN_TOKEN, "");
if(!TextUtils.isEmpty(tokenTemp)){
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// if(!TextUtils.isEmpty(token)){
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
// }
}
mQueue.add(what, request, new HttpResponseListenerNoProgress<T>(request, callback));
}
public void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if(TextUtils.isEmpty(logText)){
Log.i("app", "logText is null");
}else{
Log.i("app", logText);
}
}
}
/** /**
* sign * sign
* *

@ -1,4 +1,4 @@
package com.rehome.zhdcoa.utils; package com.example.administrator.zhapp.utils;
import android.util.Base64; import android.util.Base64;

@ -39,17 +39,6 @@
android:visibility="gone" /> android:visibility="gone" />
</LinearLayout> </LinearLayout>
<Button
android:id="@+id/button"
style="@style/button"
android:layout_width="180px"
android:layout_height="70px"
android:layout_gravity="left"
android:layout_margin="10px"
android:gravity="center"
android:text="设置IP"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/tv_version" android:id="@+id/tv_version"
android:layout_width="match_parent" android:layout_width="match_parent"

Loading…
Cancel
Save