设备照片管理页面 上传照片和删除照片接口完成

master
wenfei 2 weeks ago
parent 022161c109
commit 7780f41e2c

@ -542,6 +542,7 @@ public class Contans {
public final static String DeviceOnlineStatusUrl = "dserver/device/online/data";
public final static String getDevicePhotoListUrl = "dserver/device/img";
public final static String getImgDeviceOnlineBaseUrl = "dserver/device/img/file/";
//设备在线列表

@ -0,0 +1,260 @@
package com.rehome.zhdcoa.adapter;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import static com.rehome.zhdcoa.utils.HttpUtils.showLog;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.R;
import java.util.ArrayList;
import java.util.List;
import com.rehome.zhdcoa.adapter.luck.OnItemLongClickListener;
import com.rehome.zhdcoa.bean.DeviceOnlineStatusImgBean;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.CacheMode;
import com.yolanda.nohttp.rest.OnResponseListener;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.RequestQueue;
import com.yolanda.nohttp.rest.Response;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
public class DeviceOnlinePhotoGridViewAdapter extends RecyclerView.Adapter<DeviceOnlinePhotoGridViewAdapter.ViewHolder> {
//public static final int TYPE_PICTURE = 2;
private final LayoutInflater mInflater;
private final ArrayList<String> list = new ArrayList<>();
private Context context;
private RequestQueue queue;
private DeviceDeleteOnItemClickListener deleteItemClickListener;
/**
*
*/
// public void delete(int position) {
// try {
//
// if (position != RecyclerView.NO_POSITION && list.size() > position) {
// list.remove(position);
// notifyItemRemoved(position);
// notifyItemRangeChanged(position, list.size());
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
public DeviceOnlinePhotoGridViewAdapter(Context context, List<String> result, DeviceDeleteOnItemClickListener deleteItemClickListener,OnPicItemClickListener onItemClickListener) {
this.mInflater = LayoutInflater.from(context);
this.context = context;
this.list.addAll(result);
this.deleteItemClickListener = deleteItemClickListener;
this.onItemClickListener=onItemClickListener;
queue = NoHttp.newRequestQueue(1);
}
public ArrayList<String> getData() {
return list;
}
// public void remove(int position) {
// if (position < list.size()) {
// list.remove(position);
// }
// }
public static class ViewHolder extends RecyclerView.ViewHolder {
ImageView mImg;
ImageView mIvDel;
TextView tvDuration;
View mView;
public ViewHolder(View view) {
super(view);
mImg = view.findViewById(R.id.fiv);
mIvDel = view.findViewById(R.id.iv_del);
tvDuration = view.findViewById(R.id.tv_duration);
mView = view;
}
}
@Override
public int getItemCount() {
return list.size();
}
// @Override
// public int getItemViewType(int position) {
// return position;
// }
/**
* ViewHolder
*/
@Override
public DeviceOnlinePhotoGridViewAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = mInflater.inflate(R.layout.adapter_device_online_photo, viewGroup, false);
return new DeviceOnlinePhotoGridViewAdapter.ViewHolder(view);
}
/**
*
*/
@Override
public void onBindViewHolder(final DeviceOnlinePhotoGridViewAdapter.ViewHolder viewHolder, @SuppressLint("RecyclerView") final int position) {
viewHolder.mIvDel.setVisibility(View.VISIBLE);
viewHolder.mImg.setEnabled(true);
// viewHolder.mIvDel.setOnClickListener(view -> {
// int index = viewHolder.getAbsoluteAdapterPosition();
// if (index != RecyclerView.NO_POSITION && list.size() > index) {
// list.remove(index);
// notifyItemRemoved(index);
// notifyItemRangeChanged(index, list.size());
// }
// });
String mediaUrl = list.get(position);
viewHolder.tvDuration.setVisibility(View.GONE);
// Glide.with(viewHolder.itemView.getContext())
// .load(Uri.parse(mediaUrl))
// .centerCrop()
// .placeholder(R.color.app_color_f6)
// .diskCacheStrategy(DiskCacheStrategy.ALL)
// .into(viewHolder.mImg);
// Glide.with(viewHolder.itemView.getContext())
// .load(mediaUrl)
// .dontAnimate()
// .skipMemoryCache(true)
// .diskCacheStrategy(DiskCacheStrategy.NONE)
// .placeholder(R.drawable.head_photo)
// .into(viewHolder.mImg);
// showLog(mediaUrl);
// Request<Bitmap> request = NoHttp.createImageRequest(mediaUrl);
// NohttpUtils.getInstance().addNoProgress(context,0, request, new HttpListener<Bitmap>() {
//
// @Override
// public void onSucceed(int what, com.yolanda.nohttp.rest.Response<Bitmap> response) {
//
// Bitmap picFile = response.get();
// showLog(String.valueOf(picFile==null));
// viewHolder.mImg.setImageBitmap(picFile);
// }
//
// @Override
// public void onFailed(int what, com.yolanda.nohttp.rest.Response<Bitmap> response) {
// showLog("设备图片加载失败");
// }
// });
Request<Bitmap> request = NoHttp.createImageRequest(mediaUrl);
request.setCacheMode(CacheMode.NONE_CACHE_REQUEST_NETWORK);
if (!TextUtils.isEmpty(mediaUrl)) {
Log.i("app", "fullPath is:" + mediaUrl);
if (!TextUtils.isEmpty(request.url())) {
String url = request.url();
if (url.startsWith("https://219.131.195.3:7100") || url.startsWith("https://219.131.195.3:7011") || url.startsWith("https://219.131.195.3:7081") || url.startsWith("https://219.131.195.3:7082")) {
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
}
queue.add(6, request, new OnResponseListener<>() {
@Override
public void onStart(int what) {
}
@Override
public void onSucceed(int what, Response<Bitmap> response) {
Bitmap bitmap = response.get();
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
viewHolder.mImg.setImageDrawable(drawable);
}
@Override
public void onFailed(int what, Response<Bitmap> response) {
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.head_photo);
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
viewHolder.mImg.setImageDrawable(drawable);
}
@Override
public void onFinish(int what) {
}
});
} else {
Log.i("app", "path is null");
}
//itemView 的点击事件
if (deleteItemClickListener != null) {
//deleteItemClickListener.onItemClick(position);
viewHolder.mIvDel.setOnClickListener(view -> {
deleteItemClickListener.onItemClick(position);
});
}
if(onItemClickListener != null){
viewHolder.mImg.setOnClickListener(view -> {
onItemClickListener.onItemClick(position);
});
}
}
// public void setOnItemClickListener(OnItemClickListener l) {
// this.mItemClickListener = l;
// }
public interface DeviceDeleteOnItemClickListener {
/**
* Item click event
*
* @param position
*/
void onItemClick(int position);
}
// 接口定义
public interface OnPicItemClickListener {
void onItemClick(int position);
}
private OnPicItemClickListener onItemClickListener;
}

@ -6,6 +6,7 @@ package com.rehome.zhdcoa.adapter.luck;
*
*/
import android.annotation.SuppressLint;
import android.content.Context;
import android.net.Uri;
import android.view.LayoutInflater;
@ -132,7 +133,7 @@ public class GridImageAdapter extends RecyclerView.Adapter<GridImageAdapter.View
*
*/
@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
public void onBindViewHolder(final ViewHolder viewHolder, @SuppressLint("RecyclerView") final int position) {
//少于MaxSize张显示继续添加的图标
if (getItemViewType(position) == TYPE_CAMERA) {
viewHolder.mImg.setImageResource(R.drawable.ic_add_image);

@ -1,13 +1,11 @@
package com.rehome.zhdcoa.ui.activity;
import static android.text.Html.FROM_HTML_MODE_LEGACY;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
@ -17,7 +15,6 @@ import android.os.Bundle;
import android.os.Environment;
import android.os.Looper;
import android.provider.MediaStore;
import android.text.Html;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
@ -26,14 +23,12 @@ import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.AdapterView;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
@ -43,7 +38,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
@ -54,7 +48,6 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.luck.picture.lib.PictureSelectorPreviewFragment;
import com.luck.picture.lib.animators.AnimationType;
import com.luck.picture.lib.basic.IBridgeViewLifecycle;
@ -109,54 +102,33 @@ import com.rehome.zhdcoa.App;
import com.rehome.zhdcoa.Listener.GlideEngine;
import com.rehome.zhdcoa.Listener.ImageLoaderUtils;
import com.rehome.zhdcoa.R;
import com.rehome.zhdcoa.adapter.DeviceOnlinePhotoGridViewAdapter;
import com.rehome.zhdcoa.adapter.luck.GridImageAdapter;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.base.BaseActivity;
import com.rehome.zhdcoa.bean.AIRiskListBaseBean;
import com.rehome.zhdcoa.bean.DeviceAlarmInfoLineChartBean;
import com.rehome.zhdcoa.bean.DeviceOnlineStatusBean;
import com.rehome.zhdcoa.bean.DeviceAlarmBaseBean;
import com.rehome.zhdcoa.bean.DeviceOnlineStatusImgBean;
import com.rehome.zhdcoa.bean.MemberInfoStatisticsV1Bean;
import com.rehome.zhdcoa.entity.StatusInfo;
import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils;
import com.rehome.zhdcoa.utils.BitmapCompressUtils;
import com.rehome.zhdcoa.utils.BitmapUtil;
import com.rehome.zhdcoa.utils.FullyGridLayoutManager;
import com.rehome.zhdcoa.utils.GsonUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.HttpResponseListener;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.utils.OnAuthenticationLoginListener;
import com.rehome.zhdcoa.utils.RSAAndroid;
import com.rehome.zhdcoa.utils.SPUtils;
import com.rehome.zhdcoa.utils.UiUtlis;
import com.rehome.zhdcoa.weiget.BaCheckDialog;
import com.rehome.zhdcoa.weiget.CommitDialog;
import com.rehome.zhdcoa.weiget.WaitDialog;
import com.yalantis.ucrop.UCrop;
import com.yalantis.ucrop.UCropImageEngine;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.RequestQueue;
import com.yolanda.nohttp.rest.Response;
import org.litepal.crud.DataSupport;
import java.io.File;
import java.math.RoundingMode;
import java.nio.charset.StandardCharsets;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
import cn.hutool.core.io.IoUtil;
import top.zibin.luban.CompressionPredicate;
import top.zibin.luban.Luban;
import top.zibin.luban.OnNewCompressListener;
@ -164,17 +136,20 @@ import top.zibin.luban.OnRenameListener;
public class DeviceOnlinePhotoManageActivity extends BaseActivity {
EditText etMs;
private RecyclerView recycle;
private RecyclerView recycleDevicePhotoOnline;
private LinearLayout ll_recycle;
private CheckBox cb_crop;
private CheckBox cb_compress;
private CheckBox cb_editor;
private String username;
private TextView tv_sbmc;
private DeviceOnlinePhotoGridViewAdapter deviceOnlinePhotoGridViewAdapter;
private static final String[] permission = new String[]{
Manifest.permission.CAMERA,
@ -189,7 +164,7 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
private GridImageAdapter mAdapter;
private int maxSelectNum = 16;
private int maxSelectNum = 8;
private List<LocalMedia> mData = new ArrayList<>();
private int language = LanguageConfig.UNKNOWN_LANGUAGE;
@ -214,16 +189,17 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
private String deviceId;
private String deviceName;
private ArrayList<String> onlinePhotoList = new ArrayList<>();
private List<DeviceOnlineStatusImgBean.DeviceOnlineStatusImg> deviceOnlineStatusImgList = new ArrayList<>();
private void findView() {
etMs = findViewById(R.id.et_ms);
recycle = findViewById(R.id.recycle);
cb_crop = findViewById(R.id.cb_crop);
cb_compress = findViewById(R.id.cb_compress);
cb_editor = findViewById(R.id.cb_editor);
tv_sbmc = findViewById(R.id.tv_sbmc);
recycleDevicePhotoOnline = findViewById(R.id.recycleDevicePhotoOnline);
ll_recycle = findViewById(R.id.ll_recycle);
}
@Override
@ -244,20 +220,83 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
tv_sbmc.setText(deviceName);
}
initToolbar("工作情况汇报", "提交", new View.OnClickListener() {
initToolbar("设备图片管理", "提交", new View.OnClickListener() {
@Override
public void onClick(View v) {
if(TextUtils.isEmpty(etMs.getText().toString().trim())){
showToast("汇报内容必填");
//提交汇报数据
mData.clear();
mData.addAll(mAdapter.getData());
if(!mData.isEmpty()){
//弹框提示
CommitDialog dialog = new CommitDialog(context, new CommitDialog.CommitDialogListener() {
@Override
public void confirm() {
authenticationLoginDeviceAlarmInfoRsaByUploadDevicePhoto();
}
@Override
public void cancel() {
}
});
dialog.setTvMsg("您确定要上传设备照片吗?");
dialog.show();
}else{
//提交汇报数据
mData.clear();
mData.addAll(mAdapter.getData());
//authenticationLoginAI();
showToast("请选择设备照片后再提交");
}
}
});
deviceOnlinePhotoGridViewAdapter = new DeviceOnlinePhotoGridViewAdapter(this, onlinePhotoList, new DeviceOnlinePhotoGridViewAdapter.DeviceDeleteOnItemClickListener() {
@Override
public void onItemClick(int position) {
//弹框提示
CommitDialog dialog = new CommitDialog(context, new CommitDialog.CommitDialogListener() {
@Override
public void confirm() {
authenticationLoginDeviceAlarmInfoRsaByDeleteDevicePhoto(position);
}
@Override
public void cancel() {
}
});
dialog.setTvMsg("您确定要删除设备照片吗?");
dialog.show();
}
}, new DeviceOnlinePhotoGridViewAdapter.OnPicItemClickListener() {
@Override
public void onItemClick(int position) {
showLog(String.valueOf(position));
DeviceOnlineStatusImgBean.DeviceOnlineStatusImg item = deviceOnlineStatusImgList.get(position);
Intent intent = new Intent(context,PhotoRiskViewActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("url", onlinePhotoList.get(position));
intent.putExtra("fileName", "图片预览");
intent.putExtra("path", "/");
startActivity(intent);
}
});
FullyGridLayoutManager manager = new FullyGridLayoutManager(
this,
4, GridLayoutManager.VERTICAL, false
);
recycleDevicePhotoOnline.setLayoutManager(manager);
recycleDevicePhotoOnline.addItemDecoration(
new GridSpacingItemDecoration(
4,
DensityUtil.dip2px(this, 8f), false
)
);
recycleDevicePhotoOnline.setAdapter(deviceOnlinePhotoGridViewAdapter);
//初始化获取照片和视频
initTakePhoto();
}
@ -301,7 +340,7 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
NohttpUtils.getInstance().add(this,0, request, new HttpListener<String>() {
@SuppressLint({"SetTextI18n", "DefaultLocale"})
@SuppressLint({"SetTextI18n", "DefaultLocale", "NotifyDataSetChanged"})
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {
@ -313,8 +352,33 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
if(bean!=null && bean.getCode()==20000 && bean.isSuccess() && bean.getData()!=null && !bean.getData().isEmpty()){
deviceOnlineStatusImgList.clear();
deviceOnlineStatusImgList.addAll(bean.getData());
onlinePhotoList.clear();
ArrayList<String> onlinePhotoListTemp = new ArrayList<>();
String imgDeviceOnlineBaseUrl = Contans.IP + Contans.getImgDeviceOnlineBaseUrl;
for(DeviceOnlineStatusImgBean.DeviceOnlineStatusImg item : deviceOnlineStatusImgList){
String fileName = item.getFileName();
String imgFullUrl = imgDeviceOnlineBaseUrl+fileName;
onlinePhotoListTemp.add(imgFullUrl);
onlinePhotoList.add(imgFullUrl);
showLog(imgFullUrl);
}
showLog(String.valueOf(onlinePhotoListTemp.size()));
deviceOnlinePhotoGridViewAdapter.getData().clear();
deviceOnlinePhotoGridViewAdapter.getData().addAll(onlinePhotoListTemp);
deviceOnlinePhotoGridViewAdapter.notifyDataSetChanged();
if(onlinePhotoList.size()>=8){
ll_recycle.setVisibility(View.GONE);
}else{
ll_recycle.setVisibility(View.VISIBLE);
maxSelectNum=8-onlinePhotoList.size();
}
}else{
onlinePhotoList.clear();
deviceOnlineStatusImgList.clear();
deviceOnlinePhotoGridViewAdapter.getData().clear();
deviceOnlinePhotoGridViewAdapter.notifyDataSetChanged();
}
}
@ -325,7 +389,34 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
});
}
public void uploadDataByReport() {
private void authenticationLoginDeviceAlarmInfoRsaByUploadDevicePhoto() {
try {
//AI三维登录接口
String userName = Contans.SP.DeviceAlermInfoAccount;
String strPublicDecode = RSAAndroid.decryptByPublicKeyForSpiltStr(
Contans.SP.DeviceAlermInfoPwd,
RSAAndroid.publicRsaKeyLocal
);
AuthenticationLoginAIUtils.authenticationDeviceAlermInfoRsaShowProgress(this,userName,strPublicDecode,new OnAuthenticationLoginListener(){
@Override
public void onAuthenticationSuccess(boolean result, String token) {
if(token!=null&&token.isEmpty()){
//登录失败
showToast("设备状态智能监测及分析平台登录失败");
}else{
//登录成功
//上传设备照片
//http://10.19.0.17:1700/dserver/device/img?v=1770446858996
uploadDataByDevicePhoto();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
public void uploadDataByDevicePhoto() {
finalList.clear();
for (LocalMedia media : mData) {
if(media.getCompressPath()!=null){
@ -337,58 +428,104 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
}
showLog(new Gson().toJson(media));
}
showLog(finalList.toString().toLowerCase());
upLoadReport();
upLoadPhoto();
}
//上传单条缺陷工单
private void upLoadReport() {
String url = Contans.BASE_URL_AI_3D_SERVER + Contans.DAYLY_RISK_LIST_SUBMIT_REPORT;
//上传设备图片
private void upLoadPhoto() {
String url = Contans.IP + Contans.getDevicePhotoListUrl;
showLog(url);
Request request = NoHttp.createStringRequest(url, RequestMethod.POST);
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.POST);
showLog("-----------");
// showLog(id);
showLog(username);
request.add("reporterNo", username);
// request.add("level", level);
// request.add("type", type);
// request.add("ticketId", id);
request.add("content",etMs.getText().toString().trim());
if (mData!=null&&mData.size()>0) {
request.add("deviceName", deviceName);
request.add("deviceId", deviceId);
if (mData!=null&& !mData.isEmpty()) {
for (LocalMedia localMedia : mData) {
showLog(new Gson().toJson(localMedia));
if(localMedia.getCompressPath()!=null){
request.add("fileList", new File(localMedia.getCompressPath()));
request.add("files", new File(localMedia.getCompressPath()));
}else{
if(localMedia.getSandboxPath()!=null){
request.add("fileList", new File(localMedia.getSandboxPath()));
request.add("files", new File(localMedia.getSandboxPath()));
}
}
}
}
NohttpUtils.getInstance().add(this,0, request, new HttpListener<String>() {
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
@Override
public void onSucceed(int what, Response<String> response) {
showLog("----------------");
String result = response.get();
showLog(result);
DeviceAlarmBaseBean bean = GsonToBean(result, DeviceAlarmBaseBean.class);
if(bean!=null && bean.getCode()==20000 && bean.isSuccess()){
//弹框提示
BaCheckDialog dialog = new BaCheckDialog(context,"设备照片上传成功", new BaCheckDialog.AuditDialogListener() {
@SuppressLint("NotifyDataSetChanged")
@Override
public void confirm(String notice) {
mAdapter.getData().clear();
mAdapter.notifyDataSetChanged();
authenticationLoginDeviceAlarmInfoRsa();
}
});
dialog.show();
}
}
@Override
public void onFailed(int what, Response<String> response) {
}
},true,true,"请稍候...");
}
private void authenticationLoginDeviceAlarmInfoRsaByDeleteDevicePhoto(int position) {
try {
//设备状态智能监测及分析平台登录接口
String userName = Contans.SP.DeviceAlermInfoAccount;
String strPublicDecode = RSAAndroid.decryptByPublicKeyForSpiltStr(
Contans.SP.DeviceAlermInfoPwd,
RSAAndroid.publicRsaKeyLocal
);
AuthenticationLoginAIUtils.authenticationDeviceAlermInfoRsaShowProgress(this,userName,strPublicDecode,new OnAuthenticationLoginListener(){
@Override
public void onAuthenticationSuccess(boolean result, String token) {
if(token!=null&&token.isEmpty()){
//登录失败
showToast("设备状态智能监测及分析平台登录失败");
}else{
//登录成功
//删除设备照片
deletePhoto(position);
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
//删除设备图片
private void deletePhoto(int position) {
DeviceOnlineStatusImgBean.DeviceOnlineStatusImg item = deviceOnlineStatusImgList.get(position);
String url = Contans.IP + Contans.getDevicePhotoListUrl+"/"+item.getId();
showLog(url);
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.DELETE);
showLog("------删除设备图片-----");
NohttpUtils.getInstance().add(this,0, request, new HttpListener<String>() {
@ -399,14 +536,15 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
String result = response.get();
showLog(result);
AIRiskListBaseBean aiRiskListBaseBean = GsonToBean(result, AIRiskListBaseBean.class);
if (aiRiskListBaseBean != null && aiRiskListBaseBean.isSuccess() && aiRiskListBaseBean.getCode()==20000) {
DeviceAlarmBaseBean bean = GsonToBean(result, DeviceAlarmBaseBean.class);
if(bean!=null && bean.getCode()==20000 && bean.isSuccess()){
//弹框提示
BaCheckDialog dialog = new BaCheckDialog(context,"提交汇报成功", new BaCheckDialog.AuditDialogListener() {
BaCheckDialog dialog = new BaCheckDialog(context,"设备照片删除成功", new BaCheckDialog.AuditDialogListener() {
@SuppressLint("NotifyDataSetChanged")
@Override
public void confirm(String notice) {
finish();
authenticationLoginDeviceAlarmInfoRsa();
}
});
dialog.show();
@ -421,7 +559,6 @@ public class DeviceOnlinePhotoManageActivity extends BaseActivity {
}
private void clearView() {
etMs.setText("");
mAdapter.getData().clear();
mAdapter.notifyDataSetChanged();
}

@ -61,6 +61,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/ll_recycle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"

@ -199,9 +199,9 @@
android:id="@+id/ll_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="90dp"
android:layout_margin="10dp"
android:background="@drawable/radius"
android:minHeight="90dp"
android:orientation="vertical">
<CheckBox
@ -209,20 +209,22 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:visibility="gone"
android:text="是否裁剪图片"
android:textColor="#53575e"
android:textSize="14sp" />
android:textSize="14sp"
android:visibility="gone" />
<CheckBox
android:id="@+id/cb_compress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:visibility="gone"
android:checked="true"
android:gravity="center_vertical"
android:text="是否压缩图片"
android:textColor="#53575e"
android:textSize="14sp" />
android:textSize="14sp"
android:visibility="gone" />
<CheckBox
android:id="@+id/cb_editor"
android:layout_width="wrap_content"
@ -230,9 +232,9 @@
android:checked="true"
android:gravity="center_vertical"
android:text="是否开启图片编辑"
android:visibility="gone"
android:textColor="#53575e"
android:textSize="14sp" />
android:textSize="14sp"
android:visibility="gone" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycle"

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<com.luck.picture.lib.widget.SquareRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/fiv"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:src="@color/app_color_f6" />
<ImageView
android:id="@+id/iv_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/fiv"
android:layout_alignRight="@id/fiv"
android:paddingLeft="10dp"
android:paddingBottom="10dp"
android:scaleType="centerInside"
android:src="@drawable/ic_item_delete"
android:visibility="gone"
tools:visibility="visible" />
<TextView
android:id="@+id/tv_duration"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignLeft="@id/fiv"
android:layout_alignRight="@id/fiv"
android:layout_alignBottom="@id/fiv"
android:background="@drawable/ps_ic_shadow_bg"
android:drawableLeft="@drawable/ps_ic_video"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:paddingLeft="5dp"
android:paddingTop="8dp"
android:text="00:00"
android:textColor="@color/app_color_white"
android:textSize="11sp"
android:visibility="gone"
tools:visibility="gone" />
</com.luck.picture.lib.widget.SquareRelativeLayout>
Loading…
Cancel
Save