diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java index df2500b..d0d1fe6 100644 --- a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java +++ b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java @@ -2,19 +2,22 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.annotation.Nullable; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import com.casic.dcms.R; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @Author: Pengxh @@ -40,50 +43,68 @@ return instance; } - @Override public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context).load(url).into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - - } - - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView) { - - } - - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, final OnCallbackListener call) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() + .override(maxWidth, maxHeight) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { + .into(new CustomTarget() { @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + call.onCall(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + call.onCall(null); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context).asGif().load(url).into(imageView); + public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.mipmap.load_image_error) + .into(imageView); } @Override public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(context) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .apply(new RequestOptions().placeholder(R.mipmap.load_image_error)) .into(imageView); } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } } diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java index df2500b..d0d1fe6 100644 --- a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java +++ b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java @@ -2,19 +2,22 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.annotation.Nullable; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import com.casic.dcms.R; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @Author: Pengxh @@ -40,50 +43,68 @@ return instance; } - @Override public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context).load(url).into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - - } - - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView) { - - } - - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, final OnCallbackListener call) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() + .override(maxWidth, maxHeight) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { + .into(new CustomTarget() { @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + call.onCall(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + call.onCall(null); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context).asGif().load(url).into(imageView); + public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.mipmap.load_image_error) + .into(imageView); } @Override public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(context) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .apply(new RequestOptions().placeholder(R.mipmap.load_image_error)) .into(imageView); } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } } diff --git a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java index b82c57d..1a9aca0 100644 --- a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java +++ b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java @@ -1,51 +1,19 @@ package com.casic.dcms.utils; -import android.content.Context; import android.graphics.SurfaceTexture; -import android.net.Uri; -import android.os.Handler; -import android.os.HandlerThread; -import android.util.Log; import android.view.Surface; -import com.casic.dcms.R; -import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.DefaultLoadControl; -import com.google.android.exoplayer2.DefaultRenderersFactory; -import com.google.android.exoplayer2.ExoPlaybackException; -import com.google.android.exoplayer2.LoadControl; -import com.google.android.exoplayer2.PlaybackParameters; -import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.RenderersFactory; -import com.google.android.exoplayer2.SimpleExoPlayer; -import com.google.android.exoplayer2.Timeline; -import com.google.android.exoplayer2.source.MediaSource; -import com.google.android.exoplayer2.source.ProgressiveMediaSource; -import com.google.android.exoplayer2.source.TrackGroupArray; -import com.google.android.exoplayer2.source.hls.HlsMediaSource; -import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; -import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; -import com.google.android.exoplayer2.trackselection.TrackSelectionArray; -import com.google.android.exoplayer2.trackselection.TrackSelector; -import com.google.android.exoplayer2.upstream.BandwidthMeter; -import com.google.android.exoplayer2.upstream.DataSource; -import com.google.android.exoplayer2.upstream.DefaultAllocator; -import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; -import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; -import com.google.android.exoplayer2.util.Util; -import com.google.android.exoplayer2.video.VideoListener; - -import org.jetbrains.annotations.NotNull; +import androidx.annotation.NonNull; import cn.jzvd.JZMediaInterface; import cn.jzvd.Jzvd; -public class JzExoMedia extends JZMediaInterface implements Player.EventListener, VideoListener { +/** + * TODO 待完善 + */ +public class JzExoMedia extends JZMediaInterface { private static final String TAG = "JzExoMedia"; - private SimpleExoPlayer simpleExoPlayer; - private long previousSeek = 0; - private Runnable callback; public JzExoMedia(Jzvd jzvd) { super(jzvd); @@ -53,268 +21,76 @@ @Override public void start() { - simpleExoPlayer.setPlayWhenReady(true); + } @Override public void prepare() { - Context context = jzvd.getContext(); - release(); - mMediaHandlerThread = new HandlerThread("JZVD"); - mMediaHandlerThread.start(); - mMediaHandler = new Handler(context.getMainLooper());//主线程还是非主线程,就在这里 - handler = new Handler(); - mMediaHandler.post(() -> { - AdaptiveTrackSelection.Factory factory = new AdaptiveTrackSelection.Factory(); - TrackSelector trackSelector = new DefaultTrackSelector(context, factory); - - LoadControl loadControl = new DefaultLoadControl.Builder() - .setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)) - .setBufferDurationsMs(360000, 600000, 1000, 5000) - .setPrioritizeTimeOverSizeThresholds(false) - .setTargetBufferBytes(C.LENGTH_UNSET) - .createDefaultLoadControl(); - - BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build(); - // 2. Create the player - - RenderersFactory renderersFactory = new DefaultRenderersFactory(context); - simpleExoPlayer = new SimpleExoPlayer.Builder(context, renderersFactory) - .setTrackSelector(trackSelector) - .setLoadControl(loadControl) - .setBandwidthMeter(bandwidthMeter) - .build(); - // Produces DataSource instances through which media data is loaded. - DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, - Util.getUserAgent(context, context.getResources().getString(R.string.app_name))); - - String currUrl = jzvd.jzDataSource.getCurrentUrl().toString(); - MediaSource videoSource; - if (currUrl.contains(".m3u8")) { - videoSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - //addEventListener 这里只有两个参数都要传入值才可以成功设置 - // 否者会被断言 Assertions.checkArgument(handler != null && eventListener != null); - // 并且报错 IllegalArgumentException() 所以不需要添加监听器时 注释掉 - // videoSource .addEventListener( handler, null); - } else { - videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - } - simpleExoPlayer.addVideoListener(this); - Log.e(TAG, "URL Link = " + currUrl); - - simpleExoPlayer.addListener(this); - boolean isLoop = jzvd.jzDataSource.looping; - if (isLoop) { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE); - } else { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF); - } - simpleExoPlayer.prepare(videoSource); - simpleExoPlayer.setPlayWhenReady(true); - callback = new onBufferingUpdate(); - if (jzvd.textureView != null) { - SurfaceTexture surfaceTexture = jzvd.textureView.getSurfaceTexture(); - if (surfaceTexture != null) { - simpleExoPlayer.setVideoSurface(new Surface(surfaceTexture)); - } - } - }); - } - - @Override - public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { - handler.post(() -> jzvd.onVideoSizeChanged((int) (width * pixelWidthHeightRatio), height)); - } - - @Override - public void onRenderedFirstFrame() { } @Override public void pause() { - simpleExoPlayer.setPlayWhenReady(false); + } @Override public boolean isPlaying() { - return simpleExoPlayer.getPlayWhenReady(); - } - - @Override - public void seekTo(long time) { - if (simpleExoPlayer == null) { - return; - } - if (time != previousSeek) { - if (time >= simpleExoPlayer.getBufferedPosition()) { - jzvd.onStatePreparingPlaying(); - } - simpleExoPlayer.seekTo(time); - previousSeek = time; - jzvd.seekToInAdvance = time; - } - } - - @Override - public void release() { - if (mMediaHandler != null && mMediaHandlerThread != null && simpleExoPlayer != null) { - HandlerThread tmpHandlerThread = mMediaHandlerThread; - SimpleExoPlayer tmpMediaPlayer = simpleExoPlayer; - JZMediaInterface.SAVED_SURFACE = null; - mMediaHandler.post(() -> { - tmpMediaPlayer.release();//release就不能放到主线程里,界面会卡顿 - tmpHandlerThread.quit(); - }); - simpleExoPlayer = null; - } - } - - @Override - public long getCurrentPosition() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getCurrentPosition(); - else return 0; - } - - @Override - public long getDuration() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getDuration(); - else return 0; - } - - @Override - public void setVolume(float leftVolume, float rightVolume) { - simpleExoPlayer.setVolume(leftVolume); - simpleExoPlayer.setVolume(rightVolume); - } - - @Override - public void setSpeed(float speed) { - PlaybackParameters playbackParameters = new PlaybackParameters(speed, 1.0F); - simpleExoPlayer.setPlaybackParameters(playbackParameters); - } - - @Override - public void onTimelineChanged(final Timeline timeline, Object manifest, final int reason) { - - } - - @Override - public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { - - } - - @Override - public void onLoadingChanged(boolean isLoading) { - - } - - @Override - public void onPlayerStateChanged(final boolean playWhenReady, final int playbackState) { - Log.e(TAG, "onPlayerStateChanged" + playbackState + "/ready=" + playWhenReady); - handler.post(() -> { - switch (playbackState) { - case Player.STATE_IDLE: { - } - break; - case Player.STATE_BUFFERING: { - jzvd.onStatePreparingPlaying(); - handler.post(callback); - } - break; - case Player.STATE_READY: { - if (playWhenReady) { - jzvd.onStatePlaying(); - } - } - break; - case Player.STATE_ENDED: { - jzvd.onCompletion(); - } - break; - } - }); - } - - @Override - public void onRepeatModeChanged(int repeatMode) { - - } - - @Override - public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - - } - - @Override - public void onPlayerError(ExoPlaybackException error) { - Log.e(TAG, "onPlayerError" + error.toString()); - handler.post(() -> jzvd.onError(1000, 1000)); - } - - @Override - public void onPositionDiscontinuity(int reason) { - - } - - @Override - public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { - - } - - @Override - public void onSeekProcessed() { - handler.post(() -> jzvd.onSeekComplete()); - } - - @Override - public void setSurface(Surface surface) { - if (simpleExoPlayer != null) { - simpleExoPlayer.setVideoSurface(surface); - } else { - Log.e("AGVideo", "simpleExoPlayer为空"); - } - } - - @Override - public void onSurfaceTextureAvailable(@NotNull SurfaceTexture surface, int width, int height) { - if (SAVED_SURFACE == null) { - SAVED_SURFACE = surface; - prepare(); - } else { - jzvd.textureView.setSurfaceTexture(SAVED_SURFACE); - } - } - - @Override - public void onSurfaceTextureSizeChanged(@NotNull SurfaceTexture surface, int width, int height) { - - } - - @Override - public boolean onSurfaceTextureDestroyed(@NotNull SurfaceTexture surface) { return false; } @Override - public void onSurfaceTextureUpdated(@NotNull SurfaceTexture surface) { + public void seekTo(long time) { } - private class onBufferingUpdate implements Runnable { - @Override - public void run() { - if (simpleExoPlayer != null) { - final int percent = simpleExoPlayer.getBufferedPercentage(); - handler.post(() -> jzvd.setBufferProgress(percent)); - if (percent < 100) { - handler.postDelayed(callback, 300); - } else { - handler.removeCallbacks(callback); - } - } - } + @Override + public void release() { + + } + + @Override + public long getCurrentPosition() { + return 0; + } + + @Override + public long getDuration() { + return 0; + } + + @Override + public void setVolume(float leftVolume, float rightVolume) { + + } + + @Override + public void setSpeed(float speed) { + + } + + @Override + public void setSurface(Surface surface) { + + } + + @Override + public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { + return false; + } + + @Override + public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { + } } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java index df2500b..d0d1fe6 100644 --- a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java +++ b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java @@ -2,19 +2,22 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.annotation.Nullable; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import com.casic.dcms.R; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @Author: Pengxh @@ -40,50 +43,68 @@ return instance; } - @Override public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context).load(url).into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - - } - - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView) { - - } - - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, final OnCallbackListener call) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() + .override(maxWidth, maxHeight) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { + .into(new CustomTarget() { @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + call.onCall(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + call.onCall(null); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context).asGif().load(url).into(imageView); + public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.mipmap.load_image_error) + .into(imageView); } @Override public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(context) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .apply(new RequestOptions().placeholder(R.mipmap.load_image_error)) .into(imageView); } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } } diff --git a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java index b82c57d..1a9aca0 100644 --- a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java +++ b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java @@ -1,51 +1,19 @@ package com.casic.dcms.utils; -import android.content.Context; import android.graphics.SurfaceTexture; -import android.net.Uri; -import android.os.Handler; -import android.os.HandlerThread; -import android.util.Log; import android.view.Surface; -import com.casic.dcms.R; -import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.DefaultLoadControl; -import com.google.android.exoplayer2.DefaultRenderersFactory; -import com.google.android.exoplayer2.ExoPlaybackException; -import com.google.android.exoplayer2.LoadControl; -import com.google.android.exoplayer2.PlaybackParameters; -import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.RenderersFactory; -import com.google.android.exoplayer2.SimpleExoPlayer; -import com.google.android.exoplayer2.Timeline; -import com.google.android.exoplayer2.source.MediaSource; -import com.google.android.exoplayer2.source.ProgressiveMediaSource; -import com.google.android.exoplayer2.source.TrackGroupArray; -import com.google.android.exoplayer2.source.hls.HlsMediaSource; -import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; -import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; -import com.google.android.exoplayer2.trackselection.TrackSelectionArray; -import com.google.android.exoplayer2.trackselection.TrackSelector; -import com.google.android.exoplayer2.upstream.BandwidthMeter; -import com.google.android.exoplayer2.upstream.DataSource; -import com.google.android.exoplayer2.upstream.DefaultAllocator; -import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; -import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; -import com.google.android.exoplayer2.util.Util; -import com.google.android.exoplayer2.video.VideoListener; - -import org.jetbrains.annotations.NotNull; +import androidx.annotation.NonNull; import cn.jzvd.JZMediaInterface; import cn.jzvd.Jzvd; -public class JzExoMedia extends JZMediaInterface implements Player.EventListener, VideoListener { +/** + * TODO 待完善 + */ +public class JzExoMedia extends JZMediaInterface { private static final String TAG = "JzExoMedia"; - private SimpleExoPlayer simpleExoPlayer; - private long previousSeek = 0; - private Runnable callback; public JzExoMedia(Jzvd jzvd) { super(jzvd); @@ -53,268 +21,76 @@ @Override public void start() { - simpleExoPlayer.setPlayWhenReady(true); + } @Override public void prepare() { - Context context = jzvd.getContext(); - release(); - mMediaHandlerThread = new HandlerThread("JZVD"); - mMediaHandlerThread.start(); - mMediaHandler = new Handler(context.getMainLooper());//主线程还是非主线程,就在这里 - handler = new Handler(); - mMediaHandler.post(() -> { - AdaptiveTrackSelection.Factory factory = new AdaptiveTrackSelection.Factory(); - TrackSelector trackSelector = new DefaultTrackSelector(context, factory); - - LoadControl loadControl = new DefaultLoadControl.Builder() - .setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)) - .setBufferDurationsMs(360000, 600000, 1000, 5000) - .setPrioritizeTimeOverSizeThresholds(false) - .setTargetBufferBytes(C.LENGTH_UNSET) - .createDefaultLoadControl(); - - BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build(); - // 2. Create the player - - RenderersFactory renderersFactory = new DefaultRenderersFactory(context); - simpleExoPlayer = new SimpleExoPlayer.Builder(context, renderersFactory) - .setTrackSelector(trackSelector) - .setLoadControl(loadControl) - .setBandwidthMeter(bandwidthMeter) - .build(); - // Produces DataSource instances through which media data is loaded. - DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, - Util.getUserAgent(context, context.getResources().getString(R.string.app_name))); - - String currUrl = jzvd.jzDataSource.getCurrentUrl().toString(); - MediaSource videoSource; - if (currUrl.contains(".m3u8")) { - videoSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - //addEventListener 这里只有两个参数都要传入值才可以成功设置 - // 否者会被断言 Assertions.checkArgument(handler != null && eventListener != null); - // 并且报错 IllegalArgumentException() 所以不需要添加监听器时 注释掉 - // videoSource .addEventListener( handler, null); - } else { - videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - } - simpleExoPlayer.addVideoListener(this); - Log.e(TAG, "URL Link = " + currUrl); - - simpleExoPlayer.addListener(this); - boolean isLoop = jzvd.jzDataSource.looping; - if (isLoop) { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE); - } else { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF); - } - simpleExoPlayer.prepare(videoSource); - simpleExoPlayer.setPlayWhenReady(true); - callback = new onBufferingUpdate(); - if (jzvd.textureView != null) { - SurfaceTexture surfaceTexture = jzvd.textureView.getSurfaceTexture(); - if (surfaceTexture != null) { - simpleExoPlayer.setVideoSurface(new Surface(surfaceTexture)); - } - } - }); - } - - @Override - public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { - handler.post(() -> jzvd.onVideoSizeChanged((int) (width * pixelWidthHeightRatio), height)); - } - - @Override - public void onRenderedFirstFrame() { } @Override public void pause() { - simpleExoPlayer.setPlayWhenReady(false); + } @Override public boolean isPlaying() { - return simpleExoPlayer.getPlayWhenReady(); - } - - @Override - public void seekTo(long time) { - if (simpleExoPlayer == null) { - return; - } - if (time != previousSeek) { - if (time >= simpleExoPlayer.getBufferedPosition()) { - jzvd.onStatePreparingPlaying(); - } - simpleExoPlayer.seekTo(time); - previousSeek = time; - jzvd.seekToInAdvance = time; - } - } - - @Override - public void release() { - if (mMediaHandler != null && mMediaHandlerThread != null && simpleExoPlayer != null) { - HandlerThread tmpHandlerThread = mMediaHandlerThread; - SimpleExoPlayer tmpMediaPlayer = simpleExoPlayer; - JZMediaInterface.SAVED_SURFACE = null; - mMediaHandler.post(() -> { - tmpMediaPlayer.release();//release就不能放到主线程里,界面会卡顿 - tmpHandlerThread.quit(); - }); - simpleExoPlayer = null; - } - } - - @Override - public long getCurrentPosition() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getCurrentPosition(); - else return 0; - } - - @Override - public long getDuration() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getDuration(); - else return 0; - } - - @Override - public void setVolume(float leftVolume, float rightVolume) { - simpleExoPlayer.setVolume(leftVolume); - simpleExoPlayer.setVolume(rightVolume); - } - - @Override - public void setSpeed(float speed) { - PlaybackParameters playbackParameters = new PlaybackParameters(speed, 1.0F); - simpleExoPlayer.setPlaybackParameters(playbackParameters); - } - - @Override - public void onTimelineChanged(final Timeline timeline, Object manifest, final int reason) { - - } - - @Override - public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { - - } - - @Override - public void onLoadingChanged(boolean isLoading) { - - } - - @Override - public void onPlayerStateChanged(final boolean playWhenReady, final int playbackState) { - Log.e(TAG, "onPlayerStateChanged" + playbackState + "/ready=" + playWhenReady); - handler.post(() -> { - switch (playbackState) { - case Player.STATE_IDLE: { - } - break; - case Player.STATE_BUFFERING: { - jzvd.onStatePreparingPlaying(); - handler.post(callback); - } - break; - case Player.STATE_READY: { - if (playWhenReady) { - jzvd.onStatePlaying(); - } - } - break; - case Player.STATE_ENDED: { - jzvd.onCompletion(); - } - break; - } - }); - } - - @Override - public void onRepeatModeChanged(int repeatMode) { - - } - - @Override - public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - - } - - @Override - public void onPlayerError(ExoPlaybackException error) { - Log.e(TAG, "onPlayerError" + error.toString()); - handler.post(() -> jzvd.onError(1000, 1000)); - } - - @Override - public void onPositionDiscontinuity(int reason) { - - } - - @Override - public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { - - } - - @Override - public void onSeekProcessed() { - handler.post(() -> jzvd.onSeekComplete()); - } - - @Override - public void setSurface(Surface surface) { - if (simpleExoPlayer != null) { - simpleExoPlayer.setVideoSurface(surface); - } else { - Log.e("AGVideo", "simpleExoPlayer为空"); - } - } - - @Override - public void onSurfaceTextureAvailable(@NotNull SurfaceTexture surface, int width, int height) { - if (SAVED_SURFACE == null) { - SAVED_SURFACE = surface; - prepare(); - } else { - jzvd.textureView.setSurfaceTexture(SAVED_SURFACE); - } - } - - @Override - public void onSurfaceTextureSizeChanged(@NotNull SurfaceTexture surface, int width, int height) { - - } - - @Override - public boolean onSurfaceTextureDestroyed(@NotNull SurfaceTexture surface) { return false; } @Override - public void onSurfaceTextureUpdated(@NotNull SurfaceTexture surface) { + public void seekTo(long time) { } - private class onBufferingUpdate implements Runnable { - @Override - public void run() { - if (simpleExoPlayer != null) { - final int percent = simpleExoPlayer.getBufferedPercentage(); - handler.post(() -> jzvd.setBufferProgress(percent)); - if (percent < 100) { - handler.postDelayed(callback, 300); - } else { - handler.removeCallbacks(callback); - } - } - } + @Override + public void release() { + + } + + @Override + public long getCurrentPosition() { + return 0; + } + + @Override + public long getDuration() { + return 0; + } + + @Override + public void setVolume(float leftVolume, float rightVolume) { + + } + + @Override + public void setSpeed(float speed) { + + } + + @Override + public void setSurface(Surface surface) { + + } + + @Override + public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { + return false; + } + + @Override + public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/utils/MapHelper.java b/app/src/main/java/com/casic/dcms/utils/MapHelper.java new file mode 100644 index 0000000..69dbf96 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/MapHelper.java @@ -0,0 +1,29 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.content.Intent; +import android.text.TextUtils; + +import com.casic.dcms.mvvm.view.DisplayMapActivity; +import com.pengxh.androidx.lite.widget.EasyToast; + +public class MapHelper { + private static final String TAG = "MapHelper"; + + //查看地图位置 + public static void displayOnMap(Context context, String eorc, String lng, String lat) { + Intent intent = new Intent(context, DisplayMapActivity.class); + intent.putExtra("caseType", eorc); + if (TextUtils.isEmpty(lng)) { + EasyToast.show(context, "案卷经度异常"); + return; + } + intent.putExtra("lng", Double.parseDouble(lng)); + if (TextUtils.isEmpty(lat)) { + EasyToast.show(context, "案卷纬度异常"); + return; + } + intent.putExtra("lat", Double.parseDouble(lat)); + context.startActivity(intent); + } +} diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java index df2500b..d0d1fe6 100644 --- a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java +++ b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java @@ -2,19 +2,22 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.annotation.Nullable; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import com.casic.dcms.R; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @Author: Pengxh @@ -40,50 +43,68 @@ return instance; } - @Override public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context).load(url).into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - - } - - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView) { - - } - - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, final OnCallbackListener call) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() + .override(maxWidth, maxHeight) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { + .into(new CustomTarget() { @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + call.onCall(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + call.onCall(null); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context).asGif().load(url).into(imageView); + public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.mipmap.load_image_error) + .into(imageView); } @Override public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(context) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .apply(new RequestOptions().placeholder(R.mipmap.load_image_error)) .into(imageView); } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } } diff --git a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java index b82c57d..1a9aca0 100644 --- a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java +++ b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java @@ -1,51 +1,19 @@ package com.casic.dcms.utils; -import android.content.Context; import android.graphics.SurfaceTexture; -import android.net.Uri; -import android.os.Handler; -import android.os.HandlerThread; -import android.util.Log; import android.view.Surface; -import com.casic.dcms.R; -import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.DefaultLoadControl; -import com.google.android.exoplayer2.DefaultRenderersFactory; -import com.google.android.exoplayer2.ExoPlaybackException; -import com.google.android.exoplayer2.LoadControl; -import com.google.android.exoplayer2.PlaybackParameters; -import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.RenderersFactory; -import com.google.android.exoplayer2.SimpleExoPlayer; -import com.google.android.exoplayer2.Timeline; -import com.google.android.exoplayer2.source.MediaSource; -import com.google.android.exoplayer2.source.ProgressiveMediaSource; -import com.google.android.exoplayer2.source.TrackGroupArray; -import com.google.android.exoplayer2.source.hls.HlsMediaSource; -import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; -import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; -import com.google.android.exoplayer2.trackselection.TrackSelectionArray; -import com.google.android.exoplayer2.trackselection.TrackSelector; -import com.google.android.exoplayer2.upstream.BandwidthMeter; -import com.google.android.exoplayer2.upstream.DataSource; -import com.google.android.exoplayer2.upstream.DefaultAllocator; -import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; -import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; -import com.google.android.exoplayer2.util.Util; -import com.google.android.exoplayer2.video.VideoListener; - -import org.jetbrains.annotations.NotNull; +import androidx.annotation.NonNull; import cn.jzvd.JZMediaInterface; import cn.jzvd.Jzvd; -public class JzExoMedia extends JZMediaInterface implements Player.EventListener, VideoListener { +/** + * TODO 待完善 + */ +public class JzExoMedia extends JZMediaInterface { private static final String TAG = "JzExoMedia"; - private SimpleExoPlayer simpleExoPlayer; - private long previousSeek = 0; - private Runnable callback; public JzExoMedia(Jzvd jzvd) { super(jzvd); @@ -53,268 +21,76 @@ @Override public void start() { - simpleExoPlayer.setPlayWhenReady(true); + } @Override public void prepare() { - Context context = jzvd.getContext(); - release(); - mMediaHandlerThread = new HandlerThread("JZVD"); - mMediaHandlerThread.start(); - mMediaHandler = new Handler(context.getMainLooper());//主线程还是非主线程,就在这里 - handler = new Handler(); - mMediaHandler.post(() -> { - AdaptiveTrackSelection.Factory factory = new AdaptiveTrackSelection.Factory(); - TrackSelector trackSelector = new DefaultTrackSelector(context, factory); - - LoadControl loadControl = new DefaultLoadControl.Builder() - .setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)) - .setBufferDurationsMs(360000, 600000, 1000, 5000) - .setPrioritizeTimeOverSizeThresholds(false) - .setTargetBufferBytes(C.LENGTH_UNSET) - .createDefaultLoadControl(); - - BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build(); - // 2. Create the player - - RenderersFactory renderersFactory = new DefaultRenderersFactory(context); - simpleExoPlayer = new SimpleExoPlayer.Builder(context, renderersFactory) - .setTrackSelector(trackSelector) - .setLoadControl(loadControl) - .setBandwidthMeter(bandwidthMeter) - .build(); - // Produces DataSource instances through which media data is loaded. - DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, - Util.getUserAgent(context, context.getResources().getString(R.string.app_name))); - - String currUrl = jzvd.jzDataSource.getCurrentUrl().toString(); - MediaSource videoSource; - if (currUrl.contains(".m3u8")) { - videoSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - //addEventListener 这里只有两个参数都要传入值才可以成功设置 - // 否者会被断言 Assertions.checkArgument(handler != null && eventListener != null); - // 并且报错 IllegalArgumentException() 所以不需要添加监听器时 注释掉 - // videoSource .addEventListener( handler, null); - } else { - videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - } - simpleExoPlayer.addVideoListener(this); - Log.e(TAG, "URL Link = " + currUrl); - - simpleExoPlayer.addListener(this); - boolean isLoop = jzvd.jzDataSource.looping; - if (isLoop) { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE); - } else { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF); - } - simpleExoPlayer.prepare(videoSource); - simpleExoPlayer.setPlayWhenReady(true); - callback = new onBufferingUpdate(); - if (jzvd.textureView != null) { - SurfaceTexture surfaceTexture = jzvd.textureView.getSurfaceTexture(); - if (surfaceTexture != null) { - simpleExoPlayer.setVideoSurface(new Surface(surfaceTexture)); - } - } - }); - } - - @Override - public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { - handler.post(() -> jzvd.onVideoSizeChanged((int) (width * pixelWidthHeightRatio), height)); - } - - @Override - public void onRenderedFirstFrame() { } @Override public void pause() { - simpleExoPlayer.setPlayWhenReady(false); + } @Override public boolean isPlaying() { - return simpleExoPlayer.getPlayWhenReady(); - } - - @Override - public void seekTo(long time) { - if (simpleExoPlayer == null) { - return; - } - if (time != previousSeek) { - if (time >= simpleExoPlayer.getBufferedPosition()) { - jzvd.onStatePreparingPlaying(); - } - simpleExoPlayer.seekTo(time); - previousSeek = time; - jzvd.seekToInAdvance = time; - } - } - - @Override - public void release() { - if (mMediaHandler != null && mMediaHandlerThread != null && simpleExoPlayer != null) { - HandlerThread tmpHandlerThread = mMediaHandlerThread; - SimpleExoPlayer tmpMediaPlayer = simpleExoPlayer; - JZMediaInterface.SAVED_SURFACE = null; - mMediaHandler.post(() -> { - tmpMediaPlayer.release();//release就不能放到主线程里,界面会卡顿 - tmpHandlerThread.quit(); - }); - simpleExoPlayer = null; - } - } - - @Override - public long getCurrentPosition() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getCurrentPosition(); - else return 0; - } - - @Override - public long getDuration() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getDuration(); - else return 0; - } - - @Override - public void setVolume(float leftVolume, float rightVolume) { - simpleExoPlayer.setVolume(leftVolume); - simpleExoPlayer.setVolume(rightVolume); - } - - @Override - public void setSpeed(float speed) { - PlaybackParameters playbackParameters = new PlaybackParameters(speed, 1.0F); - simpleExoPlayer.setPlaybackParameters(playbackParameters); - } - - @Override - public void onTimelineChanged(final Timeline timeline, Object manifest, final int reason) { - - } - - @Override - public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { - - } - - @Override - public void onLoadingChanged(boolean isLoading) { - - } - - @Override - public void onPlayerStateChanged(final boolean playWhenReady, final int playbackState) { - Log.e(TAG, "onPlayerStateChanged" + playbackState + "/ready=" + playWhenReady); - handler.post(() -> { - switch (playbackState) { - case Player.STATE_IDLE: { - } - break; - case Player.STATE_BUFFERING: { - jzvd.onStatePreparingPlaying(); - handler.post(callback); - } - break; - case Player.STATE_READY: { - if (playWhenReady) { - jzvd.onStatePlaying(); - } - } - break; - case Player.STATE_ENDED: { - jzvd.onCompletion(); - } - break; - } - }); - } - - @Override - public void onRepeatModeChanged(int repeatMode) { - - } - - @Override - public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - - } - - @Override - public void onPlayerError(ExoPlaybackException error) { - Log.e(TAG, "onPlayerError" + error.toString()); - handler.post(() -> jzvd.onError(1000, 1000)); - } - - @Override - public void onPositionDiscontinuity(int reason) { - - } - - @Override - public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { - - } - - @Override - public void onSeekProcessed() { - handler.post(() -> jzvd.onSeekComplete()); - } - - @Override - public void setSurface(Surface surface) { - if (simpleExoPlayer != null) { - simpleExoPlayer.setVideoSurface(surface); - } else { - Log.e("AGVideo", "simpleExoPlayer为空"); - } - } - - @Override - public void onSurfaceTextureAvailable(@NotNull SurfaceTexture surface, int width, int height) { - if (SAVED_SURFACE == null) { - SAVED_SURFACE = surface; - prepare(); - } else { - jzvd.textureView.setSurfaceTexture(SAVED_SURFACE); - } - } - - @Override - public void onSurfaceTextureSizeChanged(@NotNull SurfaceTexture surface, int width, int height) { - - } - - @Override - public boolean onSurfaceTextureDestroyed(@NotNull SurfaceTexture surface) { return false; } @Override - public void onSurfaceTextureUpdated(@NotNull SurfaceTexture surface) { + public void seekTo(long time) { } - private class onBufferingUpdate implements Runnable { - @Override - public void run() { - if (simpleExoPlayer != null) { - final int percent = simpleExoPlayer.getBufferedPercentage(); - handler.post(() -> jzvd.setBufferProgress(percent)); - if (percent < 100) { - handler.postDelayed(callback, 300); - } else { - handler.removeCallbacks(callback); - } - } - } + @Override + public void release() { + + } + + @Override + public long getCurrentPosition() { + return 0; + } + + @Override + public long getDuration() { + return 0; + } + + @Override + public void setVolume(float leftVolume, float rightVolume) { + + } + + @Override + public void setSpeed(float speed) { + + } + + @Override + public void setSurface(Surface surface) { + + } + + @Override + public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { + return false; + } + + @Override + public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/utils/MapHelper.java b/app/src/main/java/com/casic/dcms/utils/MapHelper.java new file mode 100644 index 0000000..69dbf96 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/MapHelper.java @@ -0,0 +1,29 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.content.Intent; +import android.text.TextUtils; + +import com.casic.dcms.mvvm.view.DisplayMapActivity; +import com.pengxh.androidx.lite.widget.EasyToast; + +public class MapHelper { + private static final String TAG = "MapHelper"; + + //查看地图位置 + public static void displayOnMap(Context context, String eorc, String lng, String lat) { + Intent intent = new Intent(context, DisplayMapActivity.class); + intent.putExtra("caseType", eorc); + if (TextUtils.isEmpty(lng)) { + EasyToast.show(context, "案卷经度异常"); + return; + } + intent.putExtra("lng", Double.parseDouble(lng)); + if (TextUtils.isEmpty(lat)) { + EasyToast.show(context, "案卷纬度异常"); + return; + } + intent.putExtra("lat", Double.parseDouble(lat)); + context.startActivity(intent); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java b/app/src/main/java/com/casic/dcms/utils/OtherUtils.java deleted file mode 100644 index 2747e38..0000000 --- a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.casic.dcms.utils; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; - -import com.casic.dcms.mvvm.view.BigImageActivity; -import com.casic.dcms.mvvm.view.CaseProcessActivity; -import com.casic.dcms.mvvm.view.DisplayMapActivity; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.config.PictureMimeType; -import com.pengxh.androidx.lite.utils.Constant; -import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.util.ArrayList; - -public class OtherUtils { - private static final String TAG = "OtherUtils"; - private static QMUITipDialog loadingDialog; - - //选图 - public static void selectPicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openGallery(PictureMimeType.ofImage()) - .isWeChatStyle(true) - .isCamera(false) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(3) - .forResult(PictureConfig.CHOOSE_REQUEST); - } - - //拍照 - public static void takePicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofImage()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .forResult(PictureConfig.REQUEST_CAMERA); - } - - //拍照 - public static void takeVideo(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofVideo()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .recordVideoSecond(15) - .forResult(PictureConfig.PREVIEW_VIDEO_CODE); - } - - public static void showLoadingDialog(Context context, String message) { - loadingDialog = new QMUITipDialog.Builder(context) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord(message) - .create(); - loadingDialog.show(); - } - - public static void dismissLoadingDialog() { - if (loadingDialog != null) { - if (loadingDialog.isShowing()) { - loadingDialog.dismiss(); - } - } - } - - //查看地图位置 - public static void displayOnMap(Context context, String eorc, String lng, String lat) { - Intent intent = new Intent(context, DisplayMapActivity.class); - intent.putExtra("caseType", eorc); - if (TextUtils.isEmpty(lng)) { - EasyToast.show(context, "案卷经度异常"); - return; - } - intent.putExtra("lng", Double.parseDouble(lng)); - if (TextUtils.isEmpty(lat)) { - EasyToast.show(context, "案卷纬度异常"); - return; - } - intent.putExtra("lat", Double.parseDouble(lat)); - context.startActivity(intent); - } - - //查看大图 - public static void showBigImage(Context context, int index, ArrayList imageList) { - Intent intent = new Intent(context, BigImageActivity.class); - intent.putExtra(Constant.BIG_IMAGE_INTENT_INDEX_KEY, index); - intent.putStringArrayListExtra(Constant.BIG_IMAGE_INTENT_DATA_KEY, imageList); - context.startActivity(intent); - } - - //查看案卷处理记录 - public static void showCaseProcess(Context context, String processId) { - Intent intent = new Intent(context, CaseProcessActivity.class); - intent.putExtra("processId", processId); - context.startActivity(intent); - } -} diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java index df2500b..d0d1fe6 100644 --- a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java +++ b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java @@ -2,19 +2,22 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.annotation.Nullable; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import com.casic.dcms.R; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @Author: Pengxh @@ -40,50 +43,68 @@ return instance; } - @Override public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context).load(url).into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - - } - - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView) { - - } - - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, final OnCallbackListener call) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() + .override(maxWidth, maxHeight) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { + .into(new CustomTarget() { @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + call.onCall(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + call.onCall(null); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context).asGif().load(url).into(imageView); + public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.mipmap.load_image_error) + .into(imageView); } @Override public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(context) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .apply(new RequestOptions().placeholder(R.mipmap.load_image_error)) .into(imageView); } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } } diff --git a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java index b82c57d..1a9aca0 100644 --- a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java +++ b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java @@ -1,51 +1,19 @@ package com.casic.dcms.utils; -import android.content.Context; import android.graphics.SurfaceTexture; -import android.net.Uri; -import android.os.Handler; -import android.os.HandlerThread; -import android.util.Log; import android.view.Surface; -import com.casic.dcms.R; -import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.DefaultLoadControl; -import com.google.android.exoplayer2.DefaultRenderersFactory; -import com.google.android.exoplayer2.ExoPlaybackException; -import com.google.android.exoplayer2.LoadControl; -import com.google.android.exoplayer2.PlaybackParameters; -import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.RenderersFactory; -import com.google.android.exoplayer2.SimpleExoPlayer; -import com.google.android.exoplayer2.Timeline; -import com.google.android.exoplayer2.source.MediaSource; -import com.google.android.exoplayer2.source.ProgressiveMediaSource; -import com.google.android.exoplayer2.source.TrackGroupArray; -import com.google.android.exoplayer2.source.hls.HlsMediaSource; -import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; -import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; -import com.google.android.exoplayer2.trackselection.TrackSelectionArray; -import com.google.android.exoplayer2.trackselection.TrackSelector; -import com.google.android.exoplayer2.upstream.BandwidthMeter; -import com.google.android.exoplayer2.upstream.DataSource; -import com.google.android.exoplayer2.upstream.DefaultAllocator; -import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; -import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; -import com.google.android.exoplayer2.util.Util; -import com.google.android.exoplayer2.video.VideoListener; - -import org.jetbrains.annotations.NotNull; +import androidx.annotation.NonNull; import cn.jzvd.JZMediaInterface; import cn.jzvd.Jzvd; -public class JzExoMedia extends JZMediaInterface implements Player.EventListener, VideoListener { +/** + * TODO 待完善 + */ +public class JzExoMedia extends JZMediaInterface { private static final String TAG = "JzExoMedia"; - private SimpleExoPlayer simpleExoPlayer; - private long previousSeek = 0; - private Runnable callback; public JzExoMedia(Jzvd jzvd) { super(jzvd); @@ -53,268 +21,76 @@ @Override public void start() { - simpleExoPlayer.setPlayWhenReady(true); + } @Override public void prepare() { - Context context = jzvd.getContext(); - release(); - mMediaHandlerThread = new HandlerThread("JZVD"); - mMediaHandlerThread.start(); - mMediaHandler = new Handler(context.getMainLooper());//主线程还是非主线程,就在这里 - handler = new Handler(); - mMediaHandler.post(() -> { - AdaptiveTrackSelection.Factory factory = new AdaptiveTrackSelection.Factory(); - TrackSelector trackSelector = new DefaultTrackSelector(context, factory); - - LoadControl loadControl = new DefaultLoadControl.Builder() - .setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)) - .setBufferDurationsMs(360000, 600000, 1000, 5000) - .setPrioritizeTimeOverSizeThresholds(false) - .setTargetBufferBytes(C.LENGTH_UNSET) - .createDefaultLoadControl(); - - BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build(); - // 2. Create the player - - RenderersFactory renderersFactory = new DefaultRenderersFactory(context); - simpleExoPlayer = new SimpleExoPlayer.Builder(context, renderersFactory) - .setTrackSelector(trackSelector) - .setLoadControl(loadControl) - .setBandwidthMeter(bandwidthMeter) - .build(); - // Produces DataSource instances through which media data is loaded. - DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, - Util.getUserAgent(context, context.getResources().getString(R.string.app_name))); - - String currUrl = jzvd.jzDataSource.getCurrentUrl().toString(); - MediaSource videoSource; - if (currUrl.contains(".m3u8")) { - videoSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - //addEventListener 这里只有两个参数都要传入值才可以成功设置 - // 否者会被断言 Assertions.checkArgument(handler != null && eventListener != null); - // 并且报错 IllegalArgumentException() 所以不需要添加监听器时 注释掉 - // videoSource .addEventListener( handler, null); - } else { - videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - } - simpleExoPlayer.addVideoListener(this); - Log.e(TAG, "URL Link = " + currUrl); - - simpleExoPlayer.addListener(this); - boolean isLoop = jzvd.jzDataSource.looping; - if (isLoop) { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE); - } else { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF); - } - simpleExoPlayer.prepare(videoSource); - simpleExoPlayer.setPlayWhenReady(true); - callback = new onBufferingUpdate(); - if (jzvd.textureView != null) { - SurfaceTexture surfaceTexture = jzvd.textureView.getSurfaceTexture(); - if (surfaceTexture != null) { - simpleExoPlayer.setVideoSurface(new Surface(surfaceTexture)); - } - } - }); - } - - @Override - public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { - handler.post(() -> jzvd.onVideoSizeChanged((int) (width * pixelWidthHeightRatio), height)); - } - - @Override - public void onRenderedFirstFrame() { } @Override public void pause() { - simpleExoPlayer.setPlayWhenReady(false); + } @Override public boolean isPlaying() { - return simpleExoPlayer.getPlayWhenReady(); - } - - @Override - public void seekTo(long time) { - if (simpleExoPlayer == null) { - return; - } - if (time != previousSeek) { - if (time >= simpleExoPlayer.getBufferedPosition()) { - jzvd.onStatePreparingPlaying(); - } - simpleExoPlayer.seekTo(time); - previousSeek = time; - jzvd.seekToInAdvance = time; - } - } - - @Override - public void release() { - if (mMediaHandler != null && mMediaHandlerThread != null && simpleExoPlayer != null) { - HandlerThread tmpHandlerThread = mMediaHandlerThread; - SimpleExoPlayer tmpMediaPlayer = simpleExoPlayer; - JZMediaInterface.SAVED_SURFACE = null; - mMediaHandler.post(() -> { - tmpMediaPlayer.release();//release就不能放到主线程里,界面会卡顿 - tmpHandlerThread.quit(); - }); - simpleExoPlayer = null; - } - } - - @Override - public long getCurrentPosition() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getCurrentPosition(); - else return 0; - } - - @Override - public long getDuration() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getDuration(); - else return 0; - } - - @Override - public void setVolume(float leftVolume, float rightVolume) { - simpleExoPlayer.setVolume(leftVolume); - simpleExoPlayer.setVolume(rightVolume); - } - - @Override - public void setSpeed(float speed) { - PlaybackParameters playbackParameters = new PlaybackParameters(speed, 1.0F); - simpleExoPlayer.setPlaybackParameters(playbackParameters); - } - - @Override - public void onTimelineChanged(final Timeline timeline, Object manifest, final int reason) { - - } - - @Override - public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { - - } - - @Override - public void onLoadingChanged(boolean isLoading) { - - } - - @Override - public void onPlayerStateChanged(final boolean playWhenReady, final int playbackState) { - Log.e(TAG, "onPlayerStateChanged" + playbackState + "/ready=" + playWhenReady); - handler.post(() -> { - switch (playbackState) { - case Player.STATE_IDLE: { - } - break; - case Player.STATE_BUFFERING: { - jzvd.onStatePreparingPlaying(); - handler.post(callback); - } - break; - case Player.STATE_READY: { - if (playWhenReady) { - jzvd.onStatePlaying(); - } - } - break; - case Player.STATE_ENDED: { - jzvd.onCompletion(); - } - break; - } - }); - } - - @Override - public void onRepeatModeChanged(int repeatMode) { - - } - - @Override - public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - - } - - @Override - public void onPlayerError(ExoPlaybackException error) { - Log.e(TAG, "onPlayerError" + error.toString()); - handler.post(() -> jzvd.onError(1000, 1000)); - } - - @Override - public void onPositionDiscontinuity(int reason) { - - } - - @Override - public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { - - } - - @Override - public void onSeekProcessed() { - handler.post(() -> jzvd.onSeekComplete()); - } - - @Override - public void setSurface(Surface surface) { - if (simpleExoPlayer != null) { - simpleExoPlayer.setVideoSurface(surface); - } else { - Log.e("AGVideo", "simpleExoPlayer为空"); - } - } - - @Override - public void onSurfaceTextureAvailable(@NotNull SurfaceTexture surface, int width, int height) { - if (SAVED_SURFACE == null) { - SAVED_SURFACE = surface; - prepare(); - } else { - jzvd.textureView.setSurfaceTexture(SAVED_SURFACE); - } - } - - @Override - public void onSurfaceTextureSizeChanged(@NotNull SurfaceTexture surface, int width, int height) { - - } - - @Override - public boolean onSurfaceTextureDestroyed(@NotNull SurfaceTexture surface) { return false; } @Override - public void onSurfaceTextureUpdated(@NotNull SurfaceTexture surface) { + public void seekTo(long time) { } - private class onBufferingUpdate implements Runnable { - @Override - public void run() { - if (simpleExoPlayer != null) { - final int percent = simpleExoPlayer.getBufferedPercentage(); - handler.post(() -> jzvd.setBufferProgress(percent)); - if (percent < 100) { - handler.postDelayed(callback, 300); - } else { - handler.removeCallbacks(callback); - } - } - } + @Override + public void release() { + + } + + @Override + public long getCurrentPosition() { + return 0; + } + + @Override + public long getDuration() { + return 0; + } + + @Override + public void setVolume(float leftVolume, float rightVolume) { + + } + + @Override + public void setSpeed(float speed) { + + } + + @Override + public void setSurface(Surface surface) { + + } + + @Override + public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { + return false; + } + + @Override + public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/utils/MapHelper.java b/app/src/main/java/com/casic/dcms/utils/MapHelper.java new file mode 100644 index 0000000..69dbf96 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/MapHelper.java @@ -0,0 +1,29 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.content.Intent; +import android.text.TextUtils; + +import com.casic.dcms.mvvm.view.DisplayMapActivity; +import com.pengxh.androidx.lite.widget.EasyToast; + +public class MapHelper { + private static final String TAG = "MapHelper"; + + //查看地图位置 + public static void displayOnMap(Context context, String eorc, String lng, String lat) { + Intent intent = new Intent(context, DisplayMapActivity.class); + intent.putExtra("caseType", eorc); + if (TextUtils.isEmpty(lng)) { + EasyToast.show(context, "案卷经度异常"); + return; + } + intent.putExtra("lng", Double.parseDouble(lng)); + if (TextUtils.isEmpty(lat)) { + EasyToast.show(context, "案卷纬度异常"); + return; + } + intent.putExtra("lat", Double.parseDouble(lat)); + context.startActivity(intent); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java b/app/src/main/java/com/casic/dcms/utils/OtherUtils.java deleted file mode 100644 index 2747e38..0000000 --- a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.casic.dcms.utils; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; - -import com.casic.dcms.mvvm.view.BigImageActivity; -import com.casic.dcms.mvvm.view.CaseProcessActivity; -import com.casic.dcms.mvvm.view.DisplayMapActivity; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.config.PictureMimeType; -import com.pengxh.androidx.lite.utils.Constant; -import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.util.ArrayList; - -public class OtherUtils { - private static final String TAG = "OtherUtils"; - private static QMUITipDialog loadingDialog; - - //选图 - public static void selectPicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openGallery(PictureMimeType.ofImage()) - .isWeChatStyle(true) - .isCamera(false) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(3) - .forResult(PictureConfig.CHOOSE_REQUEST); - } - - //拍照 - public static void takePicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofImage()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .forResult(PictureConfig.REQUEST_CAMERA); - } - - //拍照 - public static void takeVideo(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofVideo()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .recordVideoSecond(15) - .forResult(PictureConfig.PREVIEW_VIDEO_CODE); - } - - public static void showLoadingDialog(Context context, String message) { - loadingDialog = new QMUITipDialog.Builder(context) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord(message) - .create(); - loadingDialog.show(); - } - - public static void dismissLoadingDialog() { - if (loadingDialog != null) { - if (loadingDialog.isShowing()) { - loadingDialog.dismiss(); - } - } - } - - //查看地图位置 - public static void displayOnMap(Context context, String eorc, String lng, String lat) { - Intent intent = new Intent(context, DisplayMapActivity.class); - intent.putExtra("caseType", eorc); - if (TextUtils.isEmpty(lng)) { - EasyToast.show(context, "案卷经度异常"); - return; - } - intent.putExtra("lng", Double.parseDouble(lng)); - if (TextUtils.isEmpty(lat)) { - EasyToast.show(context, "案卷纬度异常"); - return; - } - intent.putExtra("lat", Double.parseDouble(lat)); - context.startActivity(intent); - } - - //查看大图 - public static void showBigImage(Context context, int index, ArrayList imageList) { - Intent intent = new Intent(context, BigImageActivity.class); - intent.putExtra(Constant.BIG_IMAGE_INTENT_INDEX_KEY, index); - intent.putStringArrayListExtra(Constant.BIG_IMAGE_INTENT_DATA_KEY, imageList); - context.startActivity(intent); - } - - //查看案卷处理记录 - public static void showCaseProcess(Context context, String processId) { - Intent intent = new Intent(context, CaseProcessActivity.class); - intent.putExtra("processId", processId); - context.startActivity(intent); - } -} diff --git a/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java b/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java new file mode 100644 index 0000000..1085e37 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java @@ -0,0 +1,128 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.graphics.Color; + +import com.casic.dcms.utils.callback.ISelectorListener; +import com.luck.picture.lib.basic.PictureSelector; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.interfaces.OnResultCallbackListener; +import com.pengxh.androidx.lite.widget.EasyToast; +import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; + +import java.util.ArrayList; +import java.util.Arrays; + +public class PictureSelectorHelper { + //选图 + public static void selectPicture(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + new BottomActionSheet.Builder() + .setContext(context) + .setItemTextColor(Color.BLUE) + .setActionItemTitle(Arrays.asList("拍照", "相册")) + .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { + @Override + public void onActionItemClick(int position) { + switch (position) { + case 0: + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + break; + case 1: + PictureSelector.create(context) + .openGallery(SelectMimeType.ofImage()) + .isGif(false) + .isMaxSelectEnabledMask(true) + .setFilterMinFileSize(100) + .setMaxSelectNum(3) + .isDisplayCamera(false) + .setImageEngine(GlideLoadEngine.createGlideEngine()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "选择照片失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + break; + } + } + }).build().show(); + } + + //拍照 + public static void takePicture(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + } + + //拍照 + public static void takeVideo(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + PictureSelector.create(context) + .openCamera(SelectMimeType.ofVideo()) + .setRecordVideoMaxSecond(15) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + } +} diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java index df2500b..d0d1fe6 100644 --- a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java +++ b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java @@ -2,19 +2,22 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.annotation.Nullable; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import com.casic.dcms.R; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @Author: Pengxh @@ -40,50 +43,68 @@ return instance; } - @Override public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context).load(url).into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - - } - - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView) { - - } - - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, final OnCallbackListener call) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() + .override(maxWidth, maxHeight) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { + .into(new CustomTarget() { @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + call.onCall(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + call.onCall(null); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context).asGif().load(url).into(imageView); + public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.mipmap.load_image_error) + .into(imageView); } @Override public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(context) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .apply(new RequestOptions().placeholder(R.mipmap.load_image_error)) .into(imageView); } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } } diff --git a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java index b82c57d..1a9aca0 100644 --- a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java +++ b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java @@ -1,51 +1,19 @@ package com.casic.dcms.utils; -import android.content.Context; import android.graphics.SurfaceTexture; -import android.net.Uri; -import android.os.Handler; -import android.os.HandlerThread; -import android.util.Log; import android.view.Surface; -import com.casic.dcms.R; -import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.DefaultLoadControl; -import com.google.android.exoplayer2.DefaultRenderersFactory; -import com.google.android.exoplayer2.ExoPlaybackException; -import com.google.android.exoplayer2.LoadControl; -import com.google.android.exoplayer2.PlaybackParameters; -import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.RenderersFactory; -import com.google.android.exoplayer2.SimpleExoPlayer; -import com.google.android.exoplayer2.Timeline; -import com.google.android.exoplayer2.source.MediaSource; -import com.google.android.exoplayer2.source.ProgressiveMediaSource; -import com.google.android.exoplayer2.source.TrackGroupArray; -import com.google.android.exoplayer2.source.hls.HlsMediaSource; -import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; -import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; -import com.google.android.exoplayer2.trackselection.TrackSelectionArray; -import com.google.android.exoplayer2.trackselection.TrackSelector; -import com.google.android.exoplayer2.upstream.BandwidthMeter; -import com.google.android.exoplayer2.upstream.DataSource; -import com.google.android.exoplayer2.upstream.DefaultAllocator; -import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; -import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; -import com.google.android.exoplayer2.util.Util; -import com.google.android.exoplayer2.video.VideoListener; - -import org.jetbrains.annotations.NotNull; +import androidx.annotation.NonNull; import cn.jzvd.JZMediaInterface; import cn.jzvd.Jzvd; -public class JzExoMedia extends JZMediaInterface implements Player.EventListener, VideoListener { +/** + * TODO 待完善 + */ +public class JzExoMedia extends JZMediaInterface { private static final String TAG = "JzExoMedia"; - private SimpleExoPlayer simpleExoPlayer; - private long previousSeek = 0; - private Runnable callback; public JzExoMedia(Jzvd jzvd) { super(jzvd); @@ -53,268 +21,76 @@ @Override public void start() { - simpleExoPlayer.setPlayWhenReady(true); + } @Override public void prepare() { - Context context = jzvd.getContext(); - release(); - mMediaHandlerThread = new HandlerThread("JZVD"); - mMediaHandlerThread.start(); - mMediaHandler = new Handler(context.getMainLooper());//主线程还是非主线程,就在这里 - handler = new Handler(); - mMediaHandler.post(() -> { - AdaptiveTrackSelection.Factory factory = new AdaptiveTrackSelection.Factory(); - TrackSelector trackSelector = new DefaultTrackSelector(context, factory); - - LoadControl loadControl = new DefaultLoadControl.Builder() - .setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)) - .setBufferDurationsMs(360000, 600000, 1000, 5000) - .setPrioritizeTimeOverSizeThresholds(false) - .setTargetBufferBytes(C.LENGTH_UNSET) - .createDefaultLoadControl(); - - BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build(); - // 2. Create the player - - RenderersFactory renderersFactory = new DefaultRenderersFactory(context); - simpleExoPlayer = new SimpleExoPlayer.Builder(context, renderersFactory) - .setTrackSelector(trackSelector) - .setLoadControl(loadControl) - .setBandwidthMeter(bandwidthMeter) - .build(); - // Produces DataSource instances through which media data is loaded. - DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, - Util.getUserAgent(context, context.getResources().getString(R.string.app_name))); - - String currUrl = jzvd.jzDataSource.getCurrentUrl().toString(); - MediaSource videoSource; - if (currUrl.contains(".m3u8")) { - videoSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - //addEventListener 这里只有两个参数都要传入值才可以成功设置 - // 否者会被断言 Assertions.checkArgument(handler != null && eventListener != null); - // 并且报错 IllegalArgumentException() 所以不需要添加监听器时 注释掉 - // videoSource .addEventListener( handler, null); - } else { - videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - } - simpleExoPlayer.addVideoListener(this); - Log.e(TAG, "URL Link = " + currUrl); - - simpleExoPlayer.addListener(this); - boolean isLoop = jzvd.jzDataSource.looping; - if (isLoop) { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE); - } else { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF); - } - simpleExoPlayer.prepare(videoSource); - simpleExoPlayer.setPlayWhenReady(true); - callback = new onBufferingUpdate(); - if (jzvd.textureView != null) { - SurfaceTexture surfaceTexture = jzvd.textureView.getSurfaceTexture(); - if (surfaceTexture != null) { - simpleExoPlayer.setVideoSurface(new Surface(surfaceTexture)); - } - } - }); - } - - @Override - public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { - handler.post(() -> jzvd.onVideoSizeChanged((int) (width * pixelWidthHeightRatio), height)); - } - - @Override - public void onRenderedFirstFrame() { } @Override public void pause() { - simpleExoPlayer.setPlayWhenReady(false); + } @Override public boolean isPlaying() { - return simpleExoPlayer.getPlayWhenReady(); - } - - @Override - public void seekTo(long time) { - if (simpleExoPlayer == null) { - return; - } - if (time != previousSeek) { - if (time >= simpleExoPlayer.getBufferedPosition()) { - jzvd.onStatePreparingPlaying(); - } - simpleExoPlayer.seekTo(time); - previousSeek = time; - jzvd.seekToInAdvance = time; - } - } - - @Override - public void release() { - if (mMediaHandler != null && mMediaHandlerThread != null && simpleExoPlayer != null) { - HandlerThread tmpHandlerThread = mMediaHandlerThread; - SimpleExoPlayer tmpMediaPlayer = simpleExoPlayer; - JZMediaInterface.SAVED_SURFACE = null; - mMediaHandler.post(() -> { - tmpMediaPlayer.release();//release就不能放到主线程里,界面会卡顿 - tmpHandlerThread.quit(); - }); - simpleExoPlayer = null; - } - } - - @Override - public long getCurrentPosition() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getCurrentPosition(); - else return 0; - } - - @Override - public long getDuration() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getDuration(); - else return 0; - } - - @Override - public void setVolume(float leftVolume, float rightVolume) { - simpleExoPlayer.setVolume(leftVolume); - simpleExoPlayer.setVolume(rightVolume); - } - - @Override - public void setSpeed(float speed) { - PlaybackParameters playbackParameters = new PlaybackParameters(speed, 1.0F); - simpleExoPlayer.setPlaybackParameters(playbackParameters); - } - - @Override - public void onTimelineChanged(final Timeline timeline, Object manifest, final int reason) { - - } - - @Override - public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { - - } - - @Override - public void onLoadingChanged(boolean isLoading) { - - } - - @Override - public void onPlayerStateChanged(final boolean playWhenReady, final int playbackState) { - Log.e(TAG, "onPlayerStateChanged" + playbackState + "/ready=" + playWhenReady); - handler.post(() -> { - switch (playbackState) { - case Player.STATE_IDLE: { - } - break; - case Player.STATE_BUFFERING: { - jzvd.onStatePreparingPlaying(); - handler.post(callback); - } - break; - case Player.STATE_READY: { - if (playWhenReady) { - jzvd.onStatePlaying(); - } - } - break; - case Player.STATE_ENDED: { - jzvd.onCompletion(); - } - break; - } - }); - } - - @Override - public void onRepeatModeChanged(int repeatMode) { - - } - - @Override - public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - - } - - @Override - public void onPlayerError(ExoPlaybackException error) { - Log.e(TAG, "onPlayerError" + error.toString()); - handler.post(() -> jzvd.onError(1000, 1000)); - } - - @Override - public void onPositionDiscontinuity(int reason) { - - } - - @Override - public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { - - } - - @Override - public void onSeekProcessed() { - handler.post(() -> jzvd.onSeekComplete()); - } - - @Override - public void setSurface(Surface surface) { - if (simpleExoPlayer != null) { - simpleExoPlayer.setVideoSurface(surface); - } else { - Log.e("AGVideo", "simpleExoPlayer为空"); - } - } - - @Override - public void onSurfaceTextureAvailable(@NotNull SurfaceTexture surface, int width, int height) { - if (SAVED_SURFACE == null) { - SAVED_SURFACE = surface; - prepare(); - } else { - jzvd.textureView.setSurfaceTexture(SAVED_SURFACE); - } - } - - @Override - public void onSurfaceTextureSizeChanged(@NotNull SurfaceTexture surface, int width, int height) { - - } - - @Override - public boolean onSurfaceTextureDestroyed(@NotNull SurfaceTexture surface) { return false; } @Override - public void onSurfaceTextureUpdated(@NotNull SurfaceTexture surface) { + public void seekTo(long time) { } - private class onBufferingUpdate implements Runnable { - @Override - public void run() { - if (simpleExoPlayer != null) { - final int percent = simpleExoPlayer.getBufferedPercentage(); - handler.post(() -> jzvd.setBufferProgress(percent)); - if (percent < 100) { - handler.postDelayed(callback, 300); - } else { - handler.removeCallbacks(callback); - } - } - } + @Override + public void release() { + + } + + @Override + public long getCurrentPosition() { + return 0; + } + + @Override + public long getDuration() { + return 0; + } + + @Override + public void setVolume(float leftVolume, float rightVolume) { + + } + + @Override + public void setSpeed(float speed) { + + } + + @Override + public void setSurface(Surface surface) { + + } + + @Override + public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { + return false; + } + + @Override + public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/utils/MapHelper.java b/app/src/main/java/com/casic/dcms/utils/MapHelper.java new file mode 100644 index 0000000..69dbf96 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/MapHelper.java @@ -0,0 +1,29 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.content.Intent; +import android.text.TextUtils; + +import com.casic.dcms.mvvm.view.DisplayMapActivity; +import com.pengxh.androidx.lite.widget.EasyToast; + +public class MapHelper { + private static final String TAG = "MapHelper"; + + //查看地图位置 + public static void displayOnMap(Context context, String eorc, String lng, String lat) { + Intent intent = new Intent(context, DisplayMapActivity.class); + intent.putExtra("caseType", eorc); + if (TextUtils.isEmpty(lng)) { + EasyToast.show(context, "案卷经度异常"); + return; + } + intent.putExtra("lng", Double.parseDouble(lng)); + if (TextUtils.isEmpty(lat)) { + EasyToast.show(context, "案卷纬度异常"); + return; + } + intent.putExtra("lat", Double.parseDouble(lat)); + context.startActivity(intent); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java b/app/src/main/java/com/casic/dcms/utils/OtherUtils.java deleted file mode 100644 index 2747e38..0000000 --- a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.casic.dcms.utils; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; - -import com.casic.dcms.mvvm.view.BigImageActivity; -import com.casic.dcms.mvvm.view.CaseProcessActivity; -import com.casic.dcms.mvvm.view.DisplayMapActivity; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.config.PictureMimeType; -import com.pengxh.androidx.lite.utils.Constant; -import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.util.ArrayList; - -public class OtherUtils { - private static final String TAG = "OtherUtils"; - private static QMUITipDialog loadingDialog; - - //选图 - public static void selectPicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openGallery(PictureMimeType.ofImage()) - .isWeChatStyle(true) - .isCamera(false) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(3) - .forResult(PictureConfig.CHOOSE_REQUEST); - } - - //拍照 - public static void takePicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofImage()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .forResult(PictureConfig.REQUEST_CAMERA); - } - - //拍照 - public static void takeVideo(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofVideo()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .recordVideoSecond(15) - .forResult(PictureConfig.PREVIEW_VIDEO_CODE); - } - - public static void showLoadingDialog(Context context, String message) { - loadingDialog = new QMUITipDialog.Builder(context) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord(message) - .create(); - loadingDialog.show(); - } - - public static void dismissLoadingDialog() { - if (loadingDialog != null) { - if (loadingDialog.isShowing()) { - loadingDialog.dismiss(); - } - } - } - - //查看地图位置 - public static void displayOnMap(Context context, String eorc, String lng, String lat) { - Intent intent = new Intent(context, DisplayMapActivity.class); - intent.putExtra("caseType", eorc); - if (TextUtils.isEmpty(lng)) { - EasyToast.show(context, "案卷经度异常"); - return; - } - intent.putExtra("lng", Double.parseDouble(lng)); - if (TextUtils.isEmpty(lat)) { - EasyToast.show(context, "案卷纬度异常"); - return; - } - intent.putExtra("lat", Double.parseDouble(lat)); - context.startActivity(intent); - } - - //查看大图 - public static void showBigImage(Context context, int index, ArrayList imageList) { - Intent intent = new Intent(context, BigImageActivity.class); - intent.putExtra(Constant.BIG_IMAGE_INTENT_INDEX_KEY, index); - intent.putStringArrayListExtra(Constant.BIG_IMAGE_INTENT_DATA_KEY, imageList); - context.startActivity(intent); - } - - //查看案卷处理记录 - public static void showCaseProcess(Context context, String processId) { - Intent intent = new Intent(context, CaseProcessActivity.class); - intent.putExtra("processId", processId); - context.startActivity(intent); - } -} diff --git a/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java b/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java new file mode 100644 index 0000000..1085e37 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java @@ -0,0 +1,128 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.graphics.Color; + +import com.casic.dcms.utils.callback.ISelectorListener; +import com.luck.picture.lib.basic.PictureSelector; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.interfaces.OnResultCallbackListener; +import com.pengxh.androidx.lite.widget.EasyToast; +import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; + +import java.util.ArrayList; +import java.util.Arrays; + +public class PictureSelectorHelper { + //选图 + public static void selectPicture(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + new BottomActionSheet.Builder() + .setContext(context) + .setItemTextColor(Color.BLUE) + .setActionItemTitle(Arrays.asList("拍照", "相册")) + .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { + @Override + public void onActionItemClick(int position) { + switch (position) { + case 0: + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + break; + case 1: + PictureSelector.create(context) + .openGallery(SelectMimeType.ofImage()) + .isGif(false) + .isMaxSelectEnabledMask(true) + .setFilterMinFileSize(100) + .setMaxSelectNum(3) + .isDisplayCamera(false) + .setImageEngine(GlideLoadEngine.createGlideEngine()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "选择照片失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + break; + } + } + }).build().show(); + } + + //拍照 + public static void takePicture(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + } + + //拍照 + public static void takeVideo(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + PictureSelector.create(context) + .openCamera(SelectMimeType.ofVideo()) + .setRecordVideoMaxSecond(15) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ISelectorListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ISelectorListener.java new file mode 100644 index 0000000..dc38a39 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/callback/ISelectorListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.utils.callback; + +import com.luck.picture.lib.entity.LocalMedia; + +import java.util.ArrayList; + +public interface ISelectorListener { + void onSuccess(ArrayList result); +} diff --git a/app/build.gradle b/app/build.gradle index 0aef2eb..a4ee6d9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,7 +90,7 @@ //fragment快速实现 implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' //图片选择框架 - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0' + implementation 'io.github.lucksiege:pictureselector:v3.0.4' //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS @@ -100,7 +100,7 @@ //视频压缩 implementation 'com.zolad:videoslimmer:1.0.0' //exo播放内核 - implementation 'com.google.android.exoplayer:exoplayer:2.13.2' + implementation 'com.google.android.exoplayer:exoplayer:2.17.1' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' //ZBar扫一扫(综合Java和C++扫码) diff --git a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java index e1199e5..e613010 100644 --- a/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java +++ b/app/src/main/java/com/casic/dcms/adapter/RecordListAdapter.java @@ -16,9 +16,10 @@ import com.casic.dcms.R; import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.callback.IAddressListener; +import com.pengxh.androidx.lite.activity.BigImageActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import java.util.ArrayList; import java.util.List; @@ -95,7 +96,7 @@ descriptionImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index a9430ac..5afb828 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -19,10 +19,10 @@ import com.casic.dcms.mvvm.model.PointFutureBean; import com.casic.dcms.mvvm.model.ShopFeatureBean; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.ICommunityListener; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; @@ -31,7 +31,6 @@ import com.esri.arcgisruntime.data.QueryParameters; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; @@ -276,12 +275,11 @@ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); -// 根据objid获取shopId - OtherUtils.showLoadingDialog(context, "查询商户信息中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询商户信息中,请稍后"); HttpRequestHelper.doRequest(LocaleConstant.SHOP_MERCHANT_ID, featureBean.getObjid(), new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { JSONObject jsonObject = new JSONObject(resultBean.string()); JSONObject data = jsonObject.getJSONObject("data"); @@ -461,7 +459,7 @@ } else if (id == R.id.minusMapView) { viewBinding.mapView.setViewpointScaleAsync(viewBinding.mapView.getMapScale() * 2); } else if (id == R.id.removeToLocalView) { - OtherUtils.showLoadingDialog(this, "定位中,请稍后"); + DialogHelper.showLoadingDialog(this, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(this, new ILocationListener() { @Override @@ -471,7 +469,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java index 178f649..7c66493 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/BridgeMaintainActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.BridgeConfigBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.IAddressListener; @@ -172,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "养护记录签到中,请稍后"); + DialogHelper.showLoadingDialog(context, "养护记录签到中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java index f1af666..dafd2ce 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -39,12 +35,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -126,7 +120,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -147,8 +141,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,7 +170,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -192,9 +185,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -202,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -210,24 +203,18 @@ checkImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseCheckDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseCheckDetailActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -264,9 +251,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -326,43 +313,19 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核查中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核查中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核查失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - - @Override public void onDestroy() { viewBinding.audioPlayerView.release(); super.onDestroy(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java index 962b422..c6396af 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseCheckedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseCheckedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,9 +177,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -187,14 +187,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java index 07e3469..5301028 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -140,7 +141,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -161,8 +162,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -177,15 +177,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleRecordLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(this, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleRecordLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java index f9419f0..1770b1c 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandleDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -23,13 +20,12 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -38,13 +34,11 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -124,7 +118,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -145,8 +139,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -163,9 +156,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -173,7 +166,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -220,7 +213,18 @@ handleImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -257,9 +261,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -296,63 +300,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture(){ - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseHandleDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseHandleDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } - @Override protected void onDestroy() { viewBinding.audioPlayerView.release(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java index 004dfea..6b43a6f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -88,7 +89,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -114,7 +115,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -135,8 +136,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -151,15 +151,20 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); - viewBinding.locationMapView.setOnClickListener(v -> OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); - viewBinding.handleLayout.setOnClickListener(v -> OtherUtils.showCaseProcess(context, data.getProcessId())); + viewBinding.locationMapView.setOnClickListener(v -> MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat())); + viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); + } + }); } @Override diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java index b0e18c6..b5acd9a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseProcessActivity.java @@ -17,6 +17,7 @@ import com.casic.dcms.utils.TimeLineDecoration.TimeLineAdapter; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.Constant; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.qmuiteam.qmui.util.QMUIDisplayHelper; @@ -40,7 +41,7 @@ @Override protected void initData() { - String processId = getIntent().getStringExtra("processId"); + String processId = getIntent().getStringExtra(Constant.INTENT_PARAM); commonDataViewModel = new ViewModelProvider(this).get(CommonDataViewModel.class); commonDataViewModel.obtainCaseProcess(processId); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java index 12ed207..b1a5cb4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.databinding.ActivityCaseListBinding; import com.casic.dcms.mvvm.model.CaseSearchResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -124,9 +124,9 @@ public void onChanged(LoadState loadState) { if (!isRefresh && !isLoadMore) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后"); + DialogHelper.showLoadingDialog(context, "案卷查询中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java index 7d4008a..b6b7b3a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoDetailActivity.java @@ -18,12 +18,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -95,7 +96,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -113,7 +114,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -127,9 +128,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,14 +138,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); viewBinding.caseCommonSentenceLayout.setOnClickListener(new View.OnClickListener() { @@ -191,13 +192,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷督办中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷督办中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "督办失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java index 6c4e5b9..064151d 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseTodoHandledDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseTodoHandledDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -89,7 +90,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -110,8 +111,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -126,9 +126,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -136,13 +136,13 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.caseHandleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java index 5d76340..4875a20 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifiedDetailActivity.java @@ -15,13 +15,14 @@ import com.casic.dcms.databinding.ActivityCaseVerifiedDetailBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -90,7 +91,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -111,8 +112,7 @@ viewBinding.videoPlayerView.setUp( videoUrl, StringHelper.filterString(data.getDescription()), - Jzvd.SCREEN_NORMAL, - JzExoMedia.class + Jzvd.SCREEN_NORMAL ); //设置第一帧为封面 Glide.with(context) @@ -127,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -137,7 +137,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java index df2ca25..c10b61a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseVerifyDetailActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; @@ -12,7 +11,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -31,13 +29,12 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; @@ -47,12 +44,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -207,7 +202,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -221,9 +216,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -340,7 +335,7 @@ intent.putExtra("type", type); verifyCaseLauncher.launch(intent); } else { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } } }); @@ -381,7 +376,18 @@ verifyImageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - selectPicture(); + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } + } + }); } @Override @@ -418,9 +424,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -435,65 +441,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷核实中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷核实中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "核实失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - private void selectPicture() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CaseVerifyDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(CaseVerifyDetailActivity.this); - break; - } - } - }) - .build().show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - private void submitCase() { String remarks = viewBinding.caseConditionView.getText().toString(); if (TextUtils.isEmpty(remarks)) { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java index 0b4ce4e..1454e00 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangePasswordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; @@ -165,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "密码修改中,请稍后"); + DialogHelper.showLoadingDialog(context, "密码修改中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java index dd3579d..77d95cd 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ChangeShopInfoActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; @@ -21,19 +20,17 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.ShopViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUIDialog.MenuDialogBuilder; import java.io.File; import java.util.ArrayList; @@ -101,19 +98,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new MenuDialogBuilder(context).addItem("相册中选取", new DialogInterface.OnClickListener() { + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.selectPicture(ChangeShopInfoActivity.this); + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); + } + } } - }).addItem("相机拍照", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int i) { - dialog.dismiss(); - OtherUtils.takePicture(ChangeShopInfoActivity.this); - } - }).setCanceledOnTouchOutside(false).create().show(); + }); } @Override @@ -121,7 +117,7 @@ if (realPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, realPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, realPaths); } } @@ -185,28 +181,4 @@ } }); } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(context, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - } - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java index 0a0eec0..4a0b2bb 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java @@ -17,7 +17,7 @@ import com.casic.dcms.mvvm.model.CleanRecordBean; import com.casic.dcms.mvvm.vm.ToiletViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; @@ -138,9 +138,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java index 7f05e84..60351ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CommonCaseUploadActivity.java @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.text.TextUtils; import android.util.Log; @@ -21,7 +20,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.lifecycle.Observer; @@ -38,14 +36,13 @@ import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.FileUtils; -import com.casic.dcms.utils.JzExoMedia; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -58,7 +55,6 @@ import com.pengxh.androidx.lite.widget.audio.AudioPopupWindow; import com.pengxh.androidx.lite.widget.audio.AudioRecodeHelper; import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.popup.QMUIPopup; @@ -67,7 +63,6 @@ import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import cn.jzvd.Jzvd; @@ -336,7 +331,31 @@ viewBinding.addVideoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takeVideo(CommonCaseUploadActivity.this); + PictureSelectorHelper.takeVideo(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia media = result.get(0); + //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" + //需要手动压缩视频 + String mediaRealPath = media.getRealPath(); + if (TextUtils.isEmpty(mediaRealPath)) { + //部分手机getRealPath可能为空,需要备用路径 + mediaRealPath = media.getPath(); + } + if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { + //如果默认和备用路径还是为空,则不压缩上传 + EasyToast.show(context, "请先选择案卷类型"); + return; + } + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(mediaRealPath); + String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); + String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); + + assert defaultRotation != null; + compressVideo(mediaRealPath, defaultRotation, defaultBitrate); + } + }); } }); @@ -375,24 +394,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(CommonCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(CommonCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -449,7 +462,7 @@ viewBinding.videoPlayerView.setVisibility(View.VISIBLE); videoUrl = resultBean.getData(); String completeURL = StringHelper.appendCompleteURL(videoUrl); - viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(completeURL, "", Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -462,9 +475,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -479,66 +492,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "请先选择案卷类型"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - case PictureConfig.PREVIEW_VIDEO_CODE: - LocalMedia media = PictureSelector.obtainMultipleResult(data).get(0); - //"realPath":"/storage/emulated/0/Movies/VID_20210426_17552226.mp4" - //需要手动压缩视频 - String mediaRealPath = media.getRealPath(); - if (TextUtils.isEmpty(mediaRealPath)) { - //部分手机getRealPath可能为空,需要备用路径 - mediaRealPath = media.getPath(); - } - if (TextUtils.isEmpty(mediaRealPath) || mediaRealPath.equals("")) { - //如果默认和备用路径还是为空,则不压缩上传 - EasyToast.show(this, "请先选择案卷类型"); - return; - } - MediaMetadataRetriever retriever = new MediaMetadataRetriever(); - retriever.setDataSource(mediaRealPath); - String defaultRotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); - String defaultBitrate = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); - - assert defaultRotation != null; - compressVideo(mediaRealPath, defaultRotation, defaultBitrate); - break; - default: - break; - } - } - } - /** * 6.0以上视频压缩 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java index 9e72c93..51b832b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java @@ -18,14 +18,15 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -103,7 +104,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -119,7 +120,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -147,7 +148,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -162,9 +163,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -192,7 +193,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -260,13 +261,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java index f23fc0b..0a03dea 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java @@ -20,14 +20,15 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.casic.dcms.utils.JzExoMedia; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -109,7 +110,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -125,7 +126,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -153,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -168,9 +169,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -199,7 +200,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -331,13 +332,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java index 0442c24..f92b99b 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java @@ -19,12 +19,13 @@ import com.casic.dcms.mvvm.vm.CaseOperateViewModel; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; -import com.casic.dcms.utils.JzExoMedia; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -105,7 +106,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -121,7 +122,7 @@ if (!TextUtils.isEmpty(videoFile)) { viewBinding.videoPlayerView.setVisibility(View.VISIBLE); String videoUrl = StringHelper.appendCompleteURL(videoFile); - viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL, JzExoMedia.class); + viewBinding.videoPlayerView.setUp(videoUrl, StringHelper.filterString(data.getDescription()), Jzvd.SCREEN_NORMAL); //设置第一帧为封面 Glide.with(context) .setDefaultRequestOptions(new RequestOptions().frame(4000000)) @@ -149,7 +150,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -164,9 +165,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -194,7 +195,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -261,13 +262,13 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷处理中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "处理失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index dc960ed..681ec29 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -90,7 +90,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -99,7 +99,7 @@ Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java index c53319a..26c4eef 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/EventSourceActivity.java @@ -16,8 +16,8 @@ import com.casic.dcms.mvvm.model.ExcelDataBean; import com.casic.dcms.mvvm.vm.DataAnalysisViewModel; import com.casic.dcms.utils.ChartViewHelper; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.TimeOrDateUtil; import com.github.mikephil.charting.data.PieEntry; import com.gyf.immersionbar.ImmersionBar; @@ -145,9 +145,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java index fecb045..ea939a8 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/LoginActivity.java @@ -14,7 +14,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.utils.AuthenticationHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.RSAUtils; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -107,9 +107,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "登录中,请稍后"); + DialogHelper.showLoadingDialog(context, "登录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java index 9e4be44..aa0d7a9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/MaintainRecordActivity.java @@ -15,7 +15,7 @@ import com.casic.dcms.mvvm.model.MaintainRecordBean; import com.casic.dcms.mvvm.vm.BridgeViewModel; import com.casic.dcms.utils.CalendarUtil; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.widgets.datepicker.DatePopupWindow; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -137,9 +137,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "查询记录中,请稍后"); + DialogHelper.showLoadingDialog(context, "查询记录中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java index 616f1a7..ac9100e 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -21,12 +19,11 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -35,11 +32,9 @@ import com.pengxh.androidx.lite.utils.StringUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageCaseUploadActivity extends AndroidxBaseActivity { @@ -111,24 +106,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -172,44 +161,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java index d319a0b..0da257a 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageHandledDetailActivity.java @@ -13,12 +13,14 @@ import com.casic.dcms.databinding.ActivityPackageHandledBinding; import com.casic.dcms.mvvm.model.CaseDetailBean; import com.casic.dcms.mvvm.vm.CaseViewModel; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; import com.casic.dcms.utils.StringHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; @@ -83,7 +85,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -109,7 +111,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -137,7 +139,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,9 +152,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -160,14 +162,14 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java index 919b18f..0f5a528 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PackageTodoDetailActivity.java @@ -1,13 +1,10 @@ package com.casic.dcms.mvvm.view; import android.content.Context; -import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -20,27 +17,26 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.NodeViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.MapHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.Constant; +import com.pengxh.androidx.lite.utils.ContextUtil; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class PackageTodoDetailActivity extends AndroidxBaseActivity { @@ -127,7 +123,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } }); @@ -150,24 +146,7 @@ @Override public void onAddImageClick() { isAddHandleImage = true; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -175,7 +154,7 @@ if (urls.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, urls); } } @@ -193,9 +172,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "获取数据中..."); + DialogHelper.showLoadingDialog(context, "获取数据中..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -203,7 +182,7 @@ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); + MapHelper.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat()); } }); @@ -272,24 +251,7 @@ @Override public void onAddImageClick() { isAddHandleImage = false; - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(PackageTodoDetailActivity.this); - break; - case 1: - OtherUtils.selectPicture(PackageTodoDetailActivity.this); - break; - } - } - }) - .build().show(); + selectPicture(); } @Override @@ -297,7 +259,7 @@ if (punishRealPaths.get(position).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, position, punishRealPaths); + ContextUtil.navigatePageTo(context, BigImageActivity.class, position, punishRealPaths); } } @@ -342,7 +304,7 @@ viewBinding.handleLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showCaseProcess(context, data.getProcessId()); + ContextUtil.navigatePageTo(context, CaseProcessActivity.class, data.getProcessId()); } }); @@ -354,30 +316,19 @@ }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); + private void selectPicture() { + PictureSelectorHelper.selectPicture(this, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; + } } - } + }); } /** diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index 56cf464..7bee382 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -10,7 +10,6 @@ import android.text.TextUtils; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +23,14 @@ import com.casic.dcms.mvvm.vm.UploadViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.DataBaseManager; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.callback.ILocationListener; +import com.casic.dcms.utils.callback.ISelectorListener; import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; @@ -45,8 +46,6 @@ import com.gyf.immersionbar.ImmersionBar; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ContextUtil; @@ -225,7 +224,13 @@ viewBinding.takePictureView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.takePicture(PublicToiletActivity.this); + PictureSelectorHelper.takePicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + LocalMedia localMedia = result.get(0); + uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); + } + }); } }); uploadViewModel.imageModel.observe(this, new Observer() { @@ -246,7 +251,7 @@ if (urls.get(0).isEmpty()) { EasyToast.show(context, "图片加载失败,无法查看大图"); } else { - OtherUtils.showBigImage(context, 0, urls); + ContextUtil.navigatePageTo(context, BigImageActivity.class, 0, urls); } } }); @@ -257,9 +262,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); TextPaint textPaint = viewBinding.showPictureView.getPaint(); textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 textPaint.setAntiAlias(true);//抗锯齿 @@ -325,9 +330,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后"); + DialogHelper.showLoadingDialog(context, "处理中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -374,15 +379,4 @@ viewBinding.workContentView.setText(tag); } } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - if (requestCode == PictureConfig.REQUEST_CAMERA) { - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - } - } - } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java index aac5100..e54f088 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/QuickCaseUploadActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,7 +10,6 @@ import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; @@ -24,12 +22,11 @@ import com.casic.dcms.mvvm.vm.CaseViewModel; import com.casic.dcms.mvvm.vm.CommonDataViewModel; import com.casic.dcms.mvvm.vm.UploadViewModel; -import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; +import com.casic.dcms.utils.PictureSelectorHelper; import com.casic.dcms.utils.StringHelper; +import com.casic.dcms.utils.callback.ISelectorListener; import com.gyf.immersionbar.ImmersionBar; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.pengxh.androidx.lite.adapter.EditableImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -37,12 +34,10 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; import com.pengxh.androidx.lite.vm.LoadState; import com.pengxh.androidx.lite.widget.EasyToast; -import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class QuickCaseUploadActivity extends AndroidxBaseActivity { @@ -239,24 +234,18 @@ imageAdapter.setOnItemClickListener(new EditableImageAdapter.OnItemClickListener() { @Override public void onAddImageClick() { - new BottomActionSheet.Builder() - .setContext(context) - .setItemTextColor(Color.BLUE) - .setActionItemTitle(Arrays.asList("拍照", "相册")) - .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { - @Override - public void onActionItemClick(int position) { - switch (position) { - case 0: - OtherUtils.takePicture(QuickCaseUploadActivity.this); - break; - case 1: - OtherUtils.selectPicture(QuickCaseUploadActivity.this); - break; - } + PictureSelectorHelper.selectPicture(context, new ISelectorListener() { + @Override + public void onSuccess(ArrayList result) { + if (result.size() == 1) { + uploadViewModel.uploadImage(new File(result.get(0).getRealPath())); + } else { + for (LocalMedia localMedia : result) { + uploadViewModel.uploadImage(new File(localMedia.getRealPath())); } - }) - .build().show(); + } + } + }); } @Override @@ -293,9 +282,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "上传中,请稍后..."); + DialogHelper.showLoadingDialog(context, "上传中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -310,44 +299,18 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "案卷提交中,请稍后..."); + DialogHelper.showLoadingDialog(context, "案卷提交中,请稍后..."); } else if (loadState == LoadState.Success) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); finish(); } else { EasyToast.show(context, "提交失败,请重试"); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); } - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == RESULT_OK) { - switch (requestCode) { - case PictureConfig.CHOOSE_REQUEST: - List selectList = PictureSelector.obtainMultipleResult(data); - for (LocalMedia media : selectList) { - File file = new File(media.getCompressPath()); - if (file.length() <= LocaleConstant.IMAGE_MINUS_SIZE) { - EasyToast.show(this, "图片尺寸太小,请重新选择"); - continue; - } - uploadViewModel.uploadImage(file); - } - break; - case PictureConfig.REQUEST_CAMERA: - LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); - uploadViewModel.uploadImage(new File(localMedia.getCompressPath())); - break; - default: - break; - } - } - } - /** * 案卷提交 */ diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java index 11b6b61..42810f5 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WellListActivity.java @@ -17,8 +17,9 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.WellListBean; import com.casic.dcms.mvvm.vm.WellViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.MapHelper; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; @@ -154,9 +155,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(context, "处理中,请稍后..."); + DialogHelper.showLoadingDialog(context, "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -180,7 +181,7 @@ WellListBean.DataBean.RowsBean rowsBean = dataBeans.get(position); String lng = rowsBean.getCoordinateX(); String lat = rowsBean.getCoordinateY(); - OtherUtils.displayOnMap(context, "others", lng, lat); + MapHelper.displayOnMap(context, "others", lng, lat); } }); adapter.setOnOptionClickListener(new WellListAdapter.OnOptionClickListener() { diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index a17dce9..1793e10 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -19,7 +19,7 @@ import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; @@ -131,7 +131,7 @@ viewBinding.removeToLocalView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - OtherUtils.showLoadingDialog(context, "定位中,请稍后"); + DialogHelper.showLoadingDialog(context, "定位中,请稍后"); LocationHelper.obtainCurrentLocation(context, new ILocationListener() { @Override @@ -140,7 +140,7 @@ Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } }, true); } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java index 13c7c6b..09af729 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnListFragment.java @@ -14,8 +14,8 @@ import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightListBean; import com.casic.dcms.mvvm.vm.LightViewModel; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.LocaleConstant; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.widgets.LightDetailDialog; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; @@ -118,9 +118,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 79d0c64..ab30213 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -25,15 +25,14 @@ import com.casic.dcms.mvvm.model.LightMapBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.HttpRequestHelper; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.LocationHelper; -import com.casic.dcms.utils.OtherUtils; import com.casic.dcms.utils.callback.IHttpRequestListener; import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -128,9 +127,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "处理中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "处理中,请稍后..."); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); @@ -271,7 +270,7 @@ @Override public void onClick(View v) { clearPictureMarker(); - OtherUtils.showLoadingDialog(requireContext(), "定位中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "定位中,请稍后"); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @Override @@ -290,7 +289,7 @@ } addPictureMarker(pointList); viewBinding.mapView.setViewpointCenterAsync(point, 3000); - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }, true); @@ -347,11 +346,11 @@ TextView lightTimeView = popupView.findViewById(R.id.lightTimeView); ImageView lightSwitch = popupView.findViewById(R.id.lightSwitch); - OtherUtils.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); + DialogHelper.showLoadingDialog(requireContext(), "路灯详情获取中,请稍后..."); HttpRequestHelper.doRequest(LocaleConstant.LIGHT_DETAIL, lampId, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); try { String string = resultBean.string(); JSONObject jsonObject = new JSONObject(string); @@ -401,7 +400,7 @@ @Override public void onFailure(Throwable throwable) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "网络连接失败,请重新选点"); } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java index 38f9068..5f91da2 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/MinePageFragment.java @@ -27,7 +27,7 @@ import com.casic.dcms.mvvm.vm.UserViewModel; import com.casic.dcms.mvvm.vm.VersionViewModel; import com.casic.dcms.utils.AuthenticationHelper; -import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.DialogHelper; import com.casic.dcms.utils.StringHelper; import com.pengxh.androidx.lite.base.AndroidxBaseFragment; import com.pengxh.androidx.lite.callback.OnDownloadListener; @@ -78,7 +78,7 @@ viewBinding.updateUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - OtherUtils.showLoadingDialog(requireActivity(), "同步中,请稍后..."); + DialogHelper.showLoadingDialog(requireActivity(), "同步中,请稍后..."); userViewModel.obtainUserData(); } }); @@ -86,7 +86,7 @@ @Override public void onChanged(UserBean it) { if (it.getCode() == 200) { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); EasyToast.show(requireContext(), "同步完成"); userData = it.getData(); updateUserInfo(); @@ -148,9 +148,9 @@ @Override public void onChanged(LoadState loadState) { if (loadState == LoadState.Loading) { - OtherUtils.showLoadingDialog(requireContext(), "请求中,请稍后"); + DialogHelper.showLoadingDialog(requireContext(), "请求中,请稍后"); } else { - OtherUtils.dismissLoadingDialog(); + DialogHelper.dismissLoadingDialog(); } } }); diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java index f4c85ca..93bc6cf 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/UploadViewModel.java @@ -93,6 +93,8 @@ ActionResultBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); imageModel.setValue(resultBean); + } else { + loadState.setValue(LoadState.Fail); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/casic/dcms/utils/DialogHelper.java b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java new file mode 100644 index 0000000..0c4fbf3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/DialogHelper.java @@ -0,0 +1,31 @@ +package com.casic.dcms.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.WindowManager; + +import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; + +public class DialogHelper { + private static QMUITipDialog loadingDialog; + + public static void showLoadingDialog(Context context, String message) { + loadingDialog = new QMUITipDialog.Builder(context) + .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) + .setTipWord(message) + .create(); + if (!((Activity) context).isDestroyed()) { + try { + loadingDialog.show(); + } catch (WindowManager.BadTokenException e) { + e.printStackTrace(); + } + } + } + + public static void dismissLoadingDialog() { + if (loadingDialog.isShowing()) { + loadingDialog.dismiss(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java index df2500b..d0d1fe6 100644 --- a/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java +++ b/app/src/main/java/com/casic/dcms/utils/GlideLoadEngine.java @@ -2,19 +2,22 @@ import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.widget.ImageView; import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.annotation.Nullable; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; import com.casic.dcms.R; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; +import com.luck.picture.lib.interfaces.OnCallbackListener; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @Author: Pengxh @@ -40,50 +43,68 @@ return instance; } - @Override public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context).load(url).into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - - } - - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView) { - - } - - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, final OnCallbackListener call) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() + .override(maxWidth, maxHeight) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { + .into(new CustomTarget() { @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + call.onCall(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + call.onCall(null); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } }); } @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context).asGif().load(url).into(imageView); + public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + Glide.with(context) + .asBitmap() + .load(url) + .override(180, 180) + .sizeMultiplier(0.5f) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.mipmap.load_image_error) + .into(imageView); } @Override public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(context) .load(url) - .apply(new RequestOptions().placeholder(R.drawable.picture_image_placeholder)) + .apply(new RequestOptions().placeholder(R.mipmap.load_image_error)) .into(imageView); } + + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } } diff --git a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java index b82c57d..1a9aca0 100644 --- a/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java +++ b/app/src/main/java/com/casic/dcms/utils/JzExoMedia.java @@ -1,51 +1,19 @@ package com.casic.dcms.utils; -import android.content.Context; import android.graphics.SurfaceTexture; -import android.net.Uri; -import android.os.Handler; -import android.os.HandlerThread; -import android.util.Log; import android.view.Surface; -import com.casic.dcms.R; -import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.DefaultLoadControl; -import com.google.android.exoplayer2.DefaultRenderersFactory; -import com.google.android.exoplayer2.ExoPlaybackException; -import com.google.android.exoplayer2.LoadControl; -import com.google.android.exoplayer2.PlaybackParameters; -import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.RenderersFactory; -import com.google.android.exoplayer2.SimpleExoPlayer; -import com.google.android.exoplayer2.Timeline; -import com.google.android.exoplayer2.source.MediaSource; -import com.google.android.exoplayer2.source.ProgressiveMediaSource; -import com.google.android.exoplayer2.source.TrackGroupArray; -import com.google.android.exoplayer2.source.hls.HlsMediaSource; -import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; -import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; -import com.google.android.exoplayer2.trackselection.TrackSelectionArray; -import com.google.android.exoplayer2.trackselection.TrackSelector; -import com.google.android.exoplayer2.upstream.BandwidthMeter; -import com.google.android.exoplayer2.upstream.DataSource; -import com.google.android.exoplayer2.upstream.DefaultAllocator; -import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; -import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; -import com.google.android.exoplayer2.util.Util; -import com.google.android.exoplayer2.video.VideoListener; - -import org.jetbrains.annotations.NotNull; +import androidx.annotation.NonNull; import cn.jzvd.JZMediaInterface; import cn.jzvd.Jzvd; -public class JzExoMedia extends JZMediaInterface implements Player.EventListener, VideoListener { +/** + * TODO 待完善 + */ +public class JzExoMedia extends JZMediaInterface { private static final String TAG = "JzExoMedia"; - private SimpleExoPlayer simpleExoPlayer; - private long previousSeek = 0; - private Runnable callback; public JzExoMedia(Jzvd jzvd) { super(jzvd); @@ -53,268 +21,76 @@ @Override public void start() { - simpleExoPlayer.setPlayWhenReady(true); + } @Override public void prepare() { - Context context = jzvd.getContext(); - release(); - mMediaHandlerThread = new HandlerThread("JZVD"); - mMediaHandlerThread.start(); - mMediaHandler = new Handler(context.getMainLooper());//主线程还是非主线程,就在这里 - handler = new Handler(); - mMediaHandler.post(() -> { - AdaptiveTrackSelection.Factory factory = new AdaptiveTrackSelection.Factory(); - TrackSelector trackSelector = new DefaultTrackSelector(context, factory); - - LoadControl loadControl = new DefaultLoadControl.Builder() - .setAllocator(new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE)) - .setBufferDurationsMs(360000, 600000, 1000, 5000) - .setPrioritizeTimeOverSizeThresholds(false) - .setTargetBufferBytes(C.LENGTH_UNSET) - .createDefaultLoadControl(); - - BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build(); - // 2. Create the player - - RenderersFactory renderersFactory = new DefaultRenderersFactory(context); - simpleExoPlayer = new SimpleExoPlayer.Builder(context, renderersFactory) - .setTrackSelector(trackSelector) - .setLoadControl(loadControl) - .setBandwidthMeter(bandwidthMeter) - .build(); - // Produces DataSource instances through which media data is loaded. - DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, - Util.getUserAgent(context, context.getResources().getString(R.string.app_name))); - - String currUrl = jzvd.jzDataSource.getCurrentUrl().toString(); - MediaSource videoSource; - if (currUrl.contains(".m3u8")) { - videoSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - //addEventListener 这里只有两个参数都要传入值才可以成功设置 - // 否者会被断言 Assertions.checkArgument(handler != null && eventListener != null); - // 并且报错 IllegalArgumentException() 所以不需要添加监听器时 注释掉 - // videoSource .addEventListener( handler, null); - } else { - videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(currUrl)); - } - simpleExoPlayer.addVideoListener(this); - Log.e(TAG, "URL Link = " + currUrl); - - simpleExoPlayer.addListener(this); - boolean isLoop = jzvd.jzDataSource.looping; - if (isLoop) { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE); - } else { - simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF); - } - simpleExoPlayer.prepare(videoSource); - simpleExoPlayer.setPlayWhenReady(true); - callback = new onBufferingUpdate(); - if (jzvd.textureView != null) { - SurfaceTexture surfaceTexture = jzvd.textureView.getSurfaceTexture(); - if (surfaceTexture != null) { - simpleExoPlayer.setVideoSurface(new Surface(surfaceTexture)); - } - } - }); - } - - @Override - public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { - handler.post(() -> jzvd.onVideoSizeChanged((int) (width * pixelWidthHeightRatio), height)); - } - - @Override - public void onRenderedFirstFrame() { } @Override public void pause() { - simpleExoPlayer.setPlayWhenReady(false); + } @Override public boolean isPlaying() { - return simpleExoPlayer.getPlayWhenReady(); - } - - @Override - public void seekTo(long time) { - if (simpleExoPlayer == null) { - return; - } - if (time != previousSeek) { - if (time >= simpleExoPlayer.getBufferedPosition()) { - jzvd.onStatePreparingPlaying(); - } - simpleExoPlayer.seekTo(time); - previousSeek = time; - jzvd.seekToInAdvance = time; - } - } - - @Override - public void release() { - if (mMediaHandler != null && mMediaHandlerThread != null && simpleExoPlayer != null) { - HandlerThread tmpHandlerThread = mMediaHandlerThread; - SimpleExoPlayer tmpMediaPlayer = simpleExoPlayer; - JZMediaInterface.SAVED_SURFACE = null; - mMediaHandler.post(() -> { - tmpMediaPlayer.release();//release就不能放到主线程里,界面会卡顿 - tmpHandlerThread.quit(); - }); - simpleExoPlayer = null; - } - } - - @Override - public long getCurrentPosition() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getCurrentPosition(); - else return 0; - } - - @Override - public long getDuration() { - if (simpleExoPlayer != null) - return simpleExoPlayer.getDuration(); - else return 0; - } - - @Override - public void setVolume(float leftVolume, float rightVolume) { - simpleExoPlayer.setVolume(leftVolume); - simpleExoPlayer.setVolume(rightVolume); - } - - @Override - public void setSpeed(float speed) { - PlaybackParameters playbackParameters = new PlaybackParameters(speed, 1.0F); - simpleExoPlayer.setPlaybackParameters(playbackParameters); - } - - @Override - public void onTimelineChanged(final Timeline timeline, Object manifest, final int reason) { - - } - - @Override - public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { - - } - - @Override - public void onLoadingChanged(boolean isLoading) { - - } - - @Override - public void onPlayerStateChanged(final boolean playWhenReady, final int playbackState) { - Log.e(TAG, "onPlayerStateChanged" + playbackState + "/ready=" + playWhenReady); - handler.post(() -> { - switch (playbackState) { - case Player.STATE_IDLE: { - } - break; - case Player.STATE_BUFFERING: { - jzvd.onStatePreparingPlaying(); - handler.post(callback); - } - break; - case Player.STATE_READY: { - if (playWhenReady) { - jzvd.onStatePlaying(); - } - } - break; - case Player.STATE_ENDED: { - jzvd.onCompletion(); - } - break; - } - }); - } - - @Override - public void onRepeatModeChanged(int repeatMode) { - - } - - @Override - public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - - } - - @Override - public void onPlayerError(ExoPlaybackException error) { - Log.e(TAG, "onPlayerError" + error.toString()); - handler.post(() -> jzvd.onError(1000, 1000)); - } - - @Override - public void onPositionDiscontinuity(int reason) { - - } - - @Override - public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { - - } - - @Override - public void onSeekProcessed() { - handler.post(() -> jzvd.onSeekComplete()); - } - - @Override - public void setSurface(Surface surface) { - if (simpleExoPlayer != null) { - simpleExoPlayer.setVideoSurface(surface); - } else { - Log.e("AGVideo", "simpleExoPlayer为空"); - } - } - - @Override - public void onSurfaceTextureAvailable(@NotNull SurfaceTexture surface, int width, int height) { - if (SAVED_SURFACE == null) { - SAVED_SURFACE = surface; - prepare(); - } else { - jzvd.textureView.setSurfaceTexture(SAVED_SURFACE); - } - } - - @Override - public void onSurfaceTextureSizeChanged(@NotNull SurfaceTexture surface, int width, int height) { - - } - - @Override - public boolean onSurfaceTextureDestroyed(@NotNull SurfaceTexture surface) { return false; } @Override - public void onSurfaceTextureUpdated(@NotNull SurfaceTexture surface) { + public void seekTo(long time) { } - private class onBufferingUpdate implements Runnable { - @Override - public void run() { - if (simpleExoPlayer != null) { - final int percent = simpleExoPlayer.getBufferedPercentage(); - handler.post(() -> jzvd.setBufferProgress(percent)); - if (percent < 100) { - handler.postDelayed(callback, 300); - } else { - handler.removeCallbacks(callback); - } - } - } + @Override + public void release() { + + } + + @Override + public long getCurrentPosition() { + return 0; + } + + @Override + public long getDuration() { + return 0; + } + + @Override + public void setVolume(float leftVolume, float rightVolume) { + + } + + @Override + public void setSpeed(float speed) { + + } + + @Override + public void setSurface(Surface surface) { + + } + + @Override + public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { + + } + + @Override + public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { + return false; + } + + @Override + public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/utils/MapHelper.java b/app/src/main/java/com/casic/dcms/utils/MapHelper.java new file mode 100644 index 0000000..69dbf96 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/MapHelper.java @@ -0,0 +1,29 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.content.Intent; +import android.text.TextUtils; + +import com.casic.dcms.mvvm.view.DisplayMapActivity; +import com.pengxh.androidx.lite.widget.EasyToast; + +public class MapHelper { + private static final String TAG = "MapHelper"; + + //查看地图位置 + public static void displayOnMap(Context context, String eorc, String lng, String lat) { + Intent intent = new Intent(context, DisplayMapActivity.class); + intent.putExtra("caseType", eorc); + if (TextUtils.isEmpty(lng)) { + EasyToast.show(context, "案卷经度异常"); + return; + } + intent.putExtra("lng", Double.parseDouble(lng)); + if (TextUtils.isEmpty(lat)) { + EasyToast.show(context, "案卷纬度异常"); + return; + } + intent.putExtra("lat", Double.parseDouble(lat)); + context.startActivity(intent); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java b/app/src/main/java/com/casic/dcms/utils/OtherUtils.java deleted file mode 100644 index 2747e38..0000000 --- a/app/src/main/java/com/casic/dcms/utils/OtherUtils.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.casic.dcms.utils; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; - -import com.casic.dcms.mvvm.view.BigImageActivity; -import com.casic.dcms.mvvm.view.CaseProcessActivity; -import com.casic.dcms.mvvm.view.DisplayMapActivity; -import com.luck.picture.lib.PictureSelector; -import com.luck.picture.lib.config.PictureConfig; -import com.luck.picture.lib.config.PictureMimeType; -import com.pengxh.androidx.lite.utils.Constant; -import com.pengxh.androidx.lite.widget.EasyToast; -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; - -import java.util.ArrayList; - -public class OtherUtils { - private static final String TAG = "OtherUtils"; - private static QMUITipDialog loadingDialog; - - //选图 - public static void selectPicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openGallery(PictureMimeType.ofImage()) - .isWeChatStyle(true) - .isCamera(false) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(3) - .forResult(PictureConfig.CHOOSE_REQUEST); - } - - //拍照 - public static void takePicture(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofImage()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .forResult(PictureConfig.REQUEST_CAMERA); - } - - //拍照 - public static void takeVideo(Activity activity) { - if (activity == null) { - return; - } - PictureSelector.create(activity) - .openCamera(PictureMimeType.ofVideo()) - .isCompress(true) - .compressQuality(90) - .compressSavePath(FileUtils.getImageCompressPath()) - .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(1) - .recordVideoSecond(15) - .forResult(PictureConfig.PREVIEW_VIDEO_CODE); - } - - public static void showLoadingDialog(Context context, String message) { - loadingDialog = new QMUITipDialog.Builder(context) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord(message) - .create(); - loadingDialog.show(); - } - - public static void dismissLoadingDialog() { - if (loadingDialog != null) { - if (loadingDialog.isShowing()) { - loadingDialog.dismiss(); - } - } - } - - //查看地图位置 - public static void displayOnMap(Context context, String eorc, String lng, String lat) { - Intent intent = new Intent(context, DisplayMapActivity.class); - intent.putExtra("caseType", eorc); - if (TextUtils.isEmpty(lng)) { - EasyToast.show(context, "案卷经度异常"); - return; - } - intent.putExtra("lng", Double.parseDouble(lng)); - if (TextUtils.isEmpty(lat)) { - EasyToast.show(context, "案卷纬度异常"); - return; - } - intent.putExtra("lat", Double.parseDouble(lat)); - context.startActivity(intent); - } - - //查看大图 - public static void showBigImage(Context context, int index, ArrayList imageList) { - Intent intent = new Intent(context, BigImageActivity.class); - intent.putExtra(Constant.BIG_IMAGE_INTENT_INDEX_KEY, index); - intent.putStringArrayListExtra(Constant.BIG_IMAGE_INTENT_DATA_KEY, imageList); - context.startActivity(intent); - } - - //查看案卷处理记录 - public static void showCaseProcess(Context context, String processId) { - Intent intent = new Intent(context, CaseProcessActivity.class); - intent.putExtra("processId", processId); - context.startActivity(intent); - } -} diff --git a/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java b/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java new file mode 100644 index 0000000..1085e37 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/PictureSelectorHelper.java @@ -0,0 +1,128 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.graphics.Color; + +import com.casic.dcms.utils.callback.ISelectorListener; +import com.luck.picture.lib.basic.PictureSelector; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.interfaces.OnResultCallbackListener; +import com.pengxh.androidx.lite.widget.EasyToast; +import com.pengxh.androidx.lite.widget.dialog.BottomActionSheet; + +import java.util.ArrayList; +import java.util.Arrays; + +public class PictureSelectorHelper { + //选图 + public static void selectPicture(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + new BottomActionSheet.Builder() + .setContext(context) + .setItemTextColor(Color.BLUE) + .setActionItemTitle(Arrays.asList("拍照", "相册")) + .setOnActionSheetListener(new BottomActionSheet.OnActionSheetListener() { + @Override + public void onActionItemClick(int position) { + switch (position) { + case 0: + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + break; + case 1: + PictureSelector.create(context) + .openGallery(SelectMimeType.ofImage()) + .isGif(false) + .isMaxSelectEnabledMask(true) + .setFilterMinFileSize(100) + .setMaxSelectNum(3) + .isDisplayCamera(false) + .setImageEngine(GlideLoadEngine.createGlideEngine()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "选择照片失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + break; + } + } + }).build().show(); + } + + //拍照 + public static void takePicture(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + } + + //拍照 + public static void takeVideo(Context context, ISelectorListener selectorListener) { + if (context == null) { + return; + } + PictureSelector.create(context) + .openCamera(SelectMimeType.ofVideo()) + .setRecordVideoMaxSecond(15) + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (result == null) { + EasyToast.show(context, "拍照保存失败,请重试"); + return; + } + selectorListener.onSuccess(result); + } + + @Override + public void onCancel() { + + } + }); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ISelectorListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ISelectorListener.java new file mode 100644 index 0000000..dc38a39 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/callback/ISelectorListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.utils.callback; + +import com.luck.picture.lib.entity.LocalMedia; + +import java.util.ArrayList; + +public interface ISelectorListener { + void onSuccess(ArrayList result); +} diff --git a/app/src/main/res/layout/activity_toilet.xml b/app/src/main/res/layout/activity_toilet.xml index 0ec268d..81a5950 100644 --- a/app/src/main/res/layout/activity_toilet.xml +++ b/app/src/main/res/layout/activity_toilet.xml @@ -110,7 +110,7 @@ android:layout_marginStart="100dp" android:layout_marginEnd="@dimen/dp_10" android:text="查看保洁打卡图片" - android:textColor="@color/picture_color_blue" + android:textColor="@color/ps_color_blue" android:textSize="@dimen/sp_16" android:visibility="gone" />