diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index aae1113..516b3e7 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -1,5 +1,6 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -7,6 +8,10 @@ import android.view.View; import android.widget.AdapterView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; @@ -80,6 +85,29 @@ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); private NineGridImageAdapter verifyImageAdapter; + private final ActivityResultLauncher verifyCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + longitude = data.getDoubleExtra("longitude", 0); + latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String casePlace = data.getStringExtra("pos"); + viewBinding.caseCommunityView.setText(community); + if (TextUtils.isEmpty(casePlace)) { + viewBinding.casePlaceView.setText(community); + } else { + viewBinding.casePlaceView.setText(casePlace); + } + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷核实"); @@ -306,7 +334,7 @@ if (source == 11 || source == 12) { Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + verifyCaseLauncher.launch(intent); } else { OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat()); } @@ -431,22 +459,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - longitude = data.getDoubleExtra("longitude", 0); - latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String casePlace = data.getStringExtra("pos"); - viewBinding.caseCommunityView.setText(community); - if (TextUtils.isEmpty(casePlace)) { - viewBinding.casePlaceView.setText(community); - } else { - viewBinding.casePlaceView.setText(casePlace); - } - break; default: break; } diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index aae1113..516b3e7 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -1,5 +1,6 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -7,6 +8,10 @@ import android.view.View; import android.widget.AdapterView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; @@ -80,6 +85,29 @@ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); private NineGridImageAdapter verifyImageAdapter; + private final ActivityResultLauncher verifyCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + longitude = data.getDoubleExtra("longitude", 0); + latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String casePlace = data.getStringExtra("pos"); + viewBinding.caseCommunityView.setText(community); + if (TextUtils.isEmpty(casePlace)) { + viewBinding.casePlaceView.setText(community); + } else { + viewBinding.casePlaceView.setText(casePlace); + } + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷核实"); @@ -306,7 +334,7 @@ if (source == 11 || source == 12) { Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + verifyCaseLauncher.launch(intent); } else { OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat()); } @@ -431,22 +459,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - longitude = data.getDoubleExtra("longitude", 0); - latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String casePlace = data.getStringExtra("pos"); - viewBinding.caseCommunityView.setText(community); - if (TextUtils.isEmpty(casePlace)) { - viewBinding.casePlaceView.setText(community); - } else { - viewBinding.casePlaceView.setText(casePlace); - } - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java index 0f8cb1b..9a12899 100644 --- a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -46,6 +51,25 @@ private NineGridImageAdapter imageAdapter; private QMUITipDialog submitDialog; + //新版onActivityResult + private final ActivityResultLauncher changeShopInfoLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + String community = data.getStringExtra("community"); + merchantName = data.getStringExtra("shopName"); + merchantId = data.getStringExtra("shopID"); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(merchantName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("商铺变更"); @@ -73,7 +97,7 @@ public void onClick(View view) { Intent intent = new Intent(context, ArcGISMapActivity.class); intent.putExtra("type", "商铺变更"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + changeShopInfoLauncher.launch(intent); } }); @@ -146,17 +170,6 @@ super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - String community = data.getStringExtra("community"); - merchantName = data.getStringExtra("shopName"); - merchantId = data.getStringExtra("shopID"); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(merchantName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(this, R.color.textColor)); - break; case PictureConfig.CHOOSE_REQUEST: List selectList = PictureSelector.obtainMultipleResult(data); for (LocalMedia media : selectList) { diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index aae1113..516b3e7 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -1,5 +1,6 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -7,6 +8,10 @@ import android.view.View; import android.widget.AdapterView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; @@ -80,6 +85,29 @@ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); private NineGridImageAdapter verifyImageAdapter; + private final ActivityResultLauncher verifyCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + longitude = data.getDoubleExtra("longitude", 0); + latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String casePlace = data.getStringExtra("pos"); + viewBinding.caseCommunityView.setText(community); + if (TextUtils.isEmpty(casePlace)) { + viewBinding.casePlaceView.setText(community); + } else { + viewBinding.casePlaceView.setText(casePlace); + } + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷核实"); @@ -306,7 +334,7 @@ if (source == 11 || source == 12) { Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + verifyCaseLauncher.launch(intent); } else { OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat()); } @@ -431,22 +459,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - longitude = data.getDoubleExtra("longitude", 0); - latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String casePlace = data.getStringExtra("pos"); - viewBinding.caseCommunityView.setText(community); - if (TextUtils.isEmpty(casePlace)) { - viewBinding.casePlaceView.setText(community); - } else { - viewBinding.casePlaceView.setText(casePlace); - } - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java index 0f8cb1b..9a12899 100644 --- a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -46,6 +51,25 @@ private NineGridImageAdapter imageAdapter; private QMUITipDialog submitDialog; + //新版onActivityResult + private final ActivityResultLauncher changeShopInfoLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + String community = data.getStringExtra("community"); + merchantName = data.getStringExtra("shopName"); + merchantId = data.getStringExtra("shopID"); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(merchantName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("商铺变更"); @@ -73,7 +97,7 @@ public void onClick(View view) { Intent intent = new Intent(context, ArcGISMapActivity.class); intent.putExtra("type", "商铺变更"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + changeShopInfoLauncher.launch(intent); } }); @@ -146,17 +170,6 @@ super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - String community = data.getStringExtra("community"); - merchantName = data.getStringExtra("shopName"); - merchantId = data.getStringExtra("shopID"); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(merchantName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(this, R.color.textColor)); - break; case PictureConfig.CHOOSE_REQUEST: List selectList = PictureSelector.obtainMultipleResult(data); for (LocalMedia media : selectList) { diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java index 251b601..32fc520 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java @@ -88,9 +88,9 @@ expandableAdapter.setData(deptList, deptAndPersons); viewBinding.deptTreeView.setAdapter(expandableAdapter); //默认展开数据 -// for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { -// viewBinding.deptTreeView.expandGroup(i); -// } + for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { + viewBinding.deptTreeView.expandGroup(i); + } viewBinding.deptTreeView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView expandableListView, View view, int groupPosition, int childPosition, long l) { diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index aae1113..516b3e7 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -1,5 +1,6 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -7,6 +8,10 @@ import android.view.View; import android.widget.AdapterView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; @@ -80,6 +85,29 @@ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); private NineGridImageAdapter verifyImageAdapter; + private final ActivityResultLauncher verifyCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + longitude = data.getDoubleExtra("longitude", 0); + latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String casePlace = data.getStringExtra("pos"); + viewBinding.caseCommunityView.setText(community); + if (TextUtils.isEmpty(casePlace)) { + viewBinding.casePlaceView.setText(community); + } else { + viewBinding.casePlaceView.setText(casePlace); + } + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷核实"); @@ -306,7 +334,7 @@ if (source == 11 || source == 12) { Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + verifyCaseLauncher.launch(intent); } else { OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat()); } @@ -431,22 +459,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - longitude = data.getDoubleExtra("longitude", 0); - latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String casePlace = data.getStringExtra("pos"); - viewBinding.caseCommunityView.setText(community); - if (TextUtils.isEmpty(casePlace)) { - viewBinding.casePlaceView.setText(community); - } else { - viewBinding.casePlaceView.setText(casePlace); - } - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java index 0f8cb1b..9a12899 100644 --- a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -46,6 +51,25 @@ private NineGridImageAdapter imageAdapter; private QMUITipDialog submitDialog; + //新版onActivityResult + private final ActivityResultLauncher changeShopInfoLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + String community = data.getStringExtra("community"); + merchantName = data.getStringExtra("shopName"); + merchantId = data.getStringExtra("shopID"); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(merchantName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("商铺变更"); @@ -73,7 +97,7 @@ public void onClick(View view) { Intent intent = new Intent(context, ArcGISMapActivity.class); intent.putExtra("type", "商铺变更"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + changeShopInfoLauncher.launch(intent); } }); @@ -146,17 +170,6 @@ super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - String community = data.getStringExtra("community"); - merchantName = data.getStringExtra("shopName"); - merchantId = data.getStringExtra("shopID"); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(merchantName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(this, R.color.textColor)); - break; case PictureConfig.CHOOSE_REQUEST: List selectList = PictureSelector.obtainMultipleResult(data); for (LocalMedia media : selectList) { diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java index 251b601..32fc520 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java @@ -88,9 +88,9 @@ expandableAdapter.setData(deptList, deptAndPersons); viewBinding.deptTreeView.setAdapter(expandableAdapter); //默认展开数据 -// for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { -// viewBinding.deptTreeView.expandGroup(i); -// } + for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { + viewBinding.deptTreeView.expandGroup(i); + } viewBinding.deptTreeView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView expandableListView, View view, int groupPosition, int childPosition, long l) { diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index df96c00..7184d28 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -135,8 +135,9 @@ Log.d(TAG, "媒体路径: " + mediaPath); return mediaPath; } else { - //TODO 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 /** + * 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 + * * 正确返回值:2021-02\6a4a7784e9be40238f037a03c43a5d7a.jpg * * 情况一:["2021-04\\3c46b405c33b4100809b8c800fa914ca.jpeg" diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index aae1113..516b3e7 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -1,5 +1,6 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -7,6 +8,10 @@ import android.view.View; import android.widget.AdapterView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; @@ -80,6 +85,29 @@ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); private NineGridImageAdapter verifyImageAdapter; + private final ActivityResultLauncher verifyCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + longitude = data.getDoubleExtra("longitude", 0); + latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String casePlace = data.getStringExtra("pos"); + viewBinding.caseCommunityView.setText(community); + if (TextUtils.isEmpty(casePlace)) { + viewBinding.casePlaceView.setText(community); + } else { + viewBinding.casePlaceView.setText(casePlace); + } + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷核实"); @@ -306,7 +334,7 @@ if (source == 11 || source == 12) { Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + verifyCaseLauncher.launch(intent); } else { OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat()); } @@ -431,22 +459,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - longitude = data.getDoubleExtra("longitude", 0); - latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String casePlace = data.getStringExtra("pos"); - viewBinding.caseCommunityView.setText(community); - if (TextUtils.isEmpty(casePlace)) { - viewBinding.casePlaceView.setText(community); - } else { - viewBinding.casePlaceView.setText(casePlace); - } - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java index 0f8cb1b..9a12899 100644 --- a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -46,6 +51,25 @@ private NineGridImageAdapter imageAdapter; private QMUITipDialog submitDialog; + //新版onActivityResult + private final ActivityResultLauncher changeShopInfoLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + String community = data.getStringExtra("community"); + merchantName = data.getStringExtra("shopName"); + merchantId = data.getStringExtra("shopID"); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(merchantName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("商铺变更"); @@ -73,7 +97,7 @@ public void onClick(View view) { Intent intent = new Intent(context, ArcGISMapActivity.class); intent.putExtra("type", "商铺变更"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + changeShopInfoLauncher.launch(intent); } }); @@ -146,17 +170,6 @@ super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - String community = data.getStringExtra("community"); - merchantName = data.getStringExtra("shopName"); - merchantId = data.getStringExtra("shopID"); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(merchantName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(this, R.color.textColor)); - break; case PictureConfig.CHOOSE_REQUEST: List selectList = PictureSelector.obtainMultipleResult(data); for (LocalMedia media : selectList) { diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java index 251b601..32fc520 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java @@ -88,9 +88,9 @@ expandableAdapter.setData(deptList, deptAndPersons); viewBinding.deptTreeView.setAdapter(expandableAdapter); //默认展开数据 -// for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { -// viewBinding.deptTreeView.expandGroup(i); -// } + for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { + viewBinding.deptTreeView.expandGroup(i); + } viewBinding.deptTreeView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView expandableListView, View view, int groupPosition, int childPosition, long l) { diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index df96c00..7184d28 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -135,8 +135,9 @@ Log.d(TAG, "媒体路径: " + mediaPath); return mediaPath; } else { - //TODO 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 /** + * 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 + * * 正确返回值:2021-02\6a4a7784e9be40238f037a03c43a5d7a.jpg * * 情况一:["2021-04\\3c46b405c33b4100809b8c800fa914ca.jpeg" diff --git a/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java b/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java index 3078440..60ed5a7 100644 --- a/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java +++ b/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java @@ -19,9 +19,9 @@ public class CancelAlarmDialog extends Dialog implements View.OnClickListener { private static final String TAG = "CancelAlarmDialog"; - private Context context; + private final Context context; + private final OnDialogButtonClickListener listener; private EditText cancelReasonView; - private OnDialogButtonClickListener listener; private String status; @Override @@ -30,7 +30,7 @@ setContentView(R.layout.dialog_cancel_alarm); Spinner reasonSpinner = findViewById(R.id.selectReasonView); - ArrayAdapter spinnerAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_item, Constant.SPINNER_ITEMS); + ArrayAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, Constant.SPINNER_ITEMS); spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); reasonSpinner.setAdapter(spinnerAdapter); diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index aae1113..516b3e7 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -1,5 +1,6 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -7,6 +8,10 @@ import android.view.View; import android.widget.AdapterView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; @@ -80,6 +85,29 @@ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); private NineGridImageAdapter verifyImageAdapter; + private final ActivityResultLauncher verifyCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + longitude = data.getDoubleExtra("longitude", 0); + latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String casePlace = data.getStringExtra("pos"); + viewBinding.caseCommunityView.setText(community); + if (TextUtils.isEmpty(casePlace)) { + viewBinding.casePlaceView.setText(community); + } else { + viewBinding.casePlaceView.setText(casePlace); + } + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷核实"); @@ -306,7 +334,7 @@ if (source == 11 || source == 12) { Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + verifyCaseLauncher.launch(intent); } else { OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat()); } @@ -431,22 +459,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - longitude = data.getDoubleExtra("longitude", 0); - latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String casePlace = data.getStringExtra("pos"); - viewBinding.caseCommunityView.setText(community); - if (TextUtils.isEmpty(casePlace)) { - viewBinding.casePlaceView.setText(community); - } else { - viewBinding.casePlaceView.setText(casePlace); - } - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java index 0f8cb1b..9a12899 100644 --- a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -46,6 +51,25 @@ private NineGridImageAdapter imageAdapter; private QMUITipDialog submitDialog; + //新版onActivityResult + private final ActivityResultLauncher changeShopInfoLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + String community = data.getStringExtra("community"); + merchantName = data.getStringExtra("shopName"); + merchantId = data.getStringExtra("shopID"); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(merchantName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("商铺变更"); @@ -73,7 +97,7 @@ public void onClick(View view) { Intent intent = new Intent(context, ArcGISMapActivity.class); intent.putExtra("type", "商铺变更"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + changeShopInfoLauncher.launch(intent); } }); @@ -146,17 +170,6 @@ super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - String community = data.getStringExtra("community"); - merchantName = data.getStringExtra("shopName"); - merchantId = data.getStringExtra("shopID"); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(merchantName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(this, R.color.textColor)); - break; case PictureConfig.CHOOSE_REQUEST: List selectList = PictureSelector.obtainMultipleResult(data); for (LocalMedia media : selectList) { diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java index 251b601..32fc520 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java @@ -88,9 +88,9 @@ expandableAdapter.setData(deptList, deptAndPersons); viewBinding.deptTreeView.setAdapter(expandableAdapter); //默认展开数据 -// for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { -// viewBinding.deptTreeView.expandGroup(i); -// } + for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { + viewBinding.deptTreeView.expandGroup(i); + } viewBinding.deptTreeView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView expandableListView, View view, int groupPosition, int childPosition, long l) { diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index df96c00..7184d28 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -135,8 +135,9 @@ Log.d(TAG, "媒体路径: " + mediaPath); return mediaPath; } else { - //TODO 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 /** + * 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 + * * 正确返回值:2021-02\6a4a7784e9be40238f037a03c43a5d7a.jpg * * 情况一:["2021-04\\3c46b405c33b4100809b8c800fa914ca.jpeg" diff --git a/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java b/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java index 3078440..60ed5a7 100644 --- a/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java +++ b/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java @@ -19,9 +19,9 @@ public class CancelAlarmDialog extends Dialog implements View.OnClickListener { private static final String TAG = "CancelAlarmDialog"; - private Context context; + private final Context context; + private final OnDialogButtonClickListener listener; private EditText cancelReasonView; - private OnDialogButtonClickListener listener; private String status; @Override @@ -30,7 +30,7 @@ setContentView(R.layout.dialog_cancel_alarm); Spinner reasonSpinner = findViewById(R.id.selectReasonView); - ArrayAdapter spinnerAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_item, Constant.SPINNER_ITEMS); + ArrayAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, Constant.SPINNER_ITEMS); spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); reasonSpinner.setAdapter(spinnerAdapter); diff --git a/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java b/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java index 2bc7fd4..5630ed9 100644 --- a/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java +++ b/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java @@ -35,7 +35,7 @@ } } - private String lampId; + private final String lampId; private LightDetailPresenterImpl detailPresenter; private TextView lightStateView, lightAddressView, lightStreetView, lightElecView, lightVolView, lightTimeView; diff --git a/.idea/misc.xml b/.idea/misc.xml index 984eb9b..10f2221 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,23 @@ diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 84daf29..a68d343 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -1,6 +1,7 @@ package com.casic.dcms.ui; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; @@ -16,6 +17,10 @@ import android.widget.PopupWindow; import android.widget.TextView; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -92,6 +97,26 @@ private PopupWindow popWindow; private boolean isFirstEnter = true; + private final ActivityResultLauncher uploadCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷上报"); @@ -286,7 +311,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + uploadCaseLauncher.launch(intent); } else if (id == R.id.addVideoView) { OtherUtils.takeVideo(this); } else if (id == R.id.deleteView) { @@ -357,19 +382,6 @@ assert defaultRotation != null; compressVideo(mediaRealPath, defaultRotation, defaultBitrate); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java index aa6b4f5..1e45c7f 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadPackageActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -34,8 +39,7 @@ import java.util.ArrayList; import java.util.List; -public class CaseUploadPackageActivity extends AndroidxBaseActivity implements View.OnClickListener, - IUploadFileView, ICaseSubmitView { +public class CaseUploadPackageActivity extends AndroidxBaseActivity implements IUploadFileView, ICaseSubmitView { private final Context context = this; private UploadImagePresenterImpl uploadImagePresenter; @@ -46,6 +50,30 @@ private final List imageList = new ArrayList<>();//上传到服务器的数据集 private String gridId, shopID; + private final ActivityResultLauncher packageCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String shopName = data.getStringExtra("shopName"); + shopID = data.getStringExtra("shopID"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(shopName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("三包上报"); @@ -68,9 +96,14 @@ @Override public void initEvent() { - viewBinding.shopLayout.setOnClickListener(this); - viewBinding.submitButton.setOnClickListener(this); + viewBinding.shopLayout.setOnClickListener(view -> { + Intent intent = new Intent(context, ArcGISMapActivity.class); + intent.putExtra("type", "三包上报"); + packageCaseLauncher.launch(intent); + }); + viewBinding.submitButton.setChangeAlphaWhenPress(true); + viewBinding.submitButton.setOnClickListener(view -> submitCase()); //图片九宫格事件处理 imageAdapter.setOnItemClickListener(new NineGridImageAdapter.OnItemClickListener() { @@ -109,18 +142,6 @@ } @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.shopLayout) { - Intent intent = new Intent(this, ArcGISMapActivity.class); - intent.putExtra("type", "三包上报"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); - } else if (id == R.id.submitButton) { - submitCase(); - } - } - - @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { @@ -140,23 +161,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String shopName = data.getStringExtra("shopName"); - shopID = data.getStringExtra("shopID"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(shopName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java index 7dc2b48..555943e 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadQuicklyActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -60,6 +65,26 @@ private NineGridImageAdapter imageAdapter; private String gridId; + private final ActivityResultLauncher quickCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + double longitude = data.getDoubleExtra("longitude", 0); + double latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + + viewBinding.longitudeView.setText(String.valueOf(longitude)); + viewBinding.latitudeView.setText(String.valueOf(latitude)); + viewBinding.communityNameView.setText(community); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("快速上报"); @@ -203,7 +228,7 @@ } Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + quickCaseLauncher.launch(intent); } else if (id == R.id.submitButton) { submitCase();//案卷提交 } @@ -229,19 +254,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - double longitude = data.getDoubleExtra("longitude", 0); - double latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - - viewBinding.longitudeView.setText(String.valueOf(longitude)); - viewBinding.latitudeView.setText(String.valueOf(latitude)); - viewBinding.communityNameView.setText(community); - break; default: break; } @@ -250,7 +262,6 @@ @Override public void obtainLargeClassData(CaseLargeClassBean largeClassBean) { -// Log.d(TAG, "obtainLargeClassData: " + gson.toJson(largeClassBean)); if (largeClassBean.isSuccess()) { //设置大类数据 this.largeClassBeans = largeClassBean.getData(); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index aae1113..516b3e7 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -1,5 +1,6 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -7,6 +8,10 @@ import android.view.View; import android.widget.AdapterView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; @@ -80,6 +85,29 @@ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); private NineGridImageAdapter verifyImageAdapter; + private final ActivityResultLauncher verifyCaseLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + longitude = data.getDoubleExtra("longitude", 0); + latitude = data.getDoubleExtra("latitude", 0); + gridId = data.getStringExtra("gridId"); + String community = data.getStringExtra("community"); + String casePlace = data.getStringExtra("pos"); + viewBinding.caseCommunityView.setText(community); + if (TextUtils.isEmpty(casePlace)) { + viewBinding.casePlaceView.setText(community); + } else { + viewBinding.casePlaceView.setText(casePlace); + } + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("案卷核实"); @@ -306,7 +334,7 @@ if (source == 11 || source == 12) { Intent intent = new Intent(this, ArcGISMapActivity.class); intent.putExtra("type", type); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + verifyCaseLauncher.launch(intent); } else { OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat()); } @@ -431,22 +459,6 @@ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); break; - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - longitude = data.getDoubleExtra("longitude", 0); - latitude = data.getDoubleExtra("latitude", 0); - gridId = data.getStringExtra("gridId"); - String community = data.getStringExtra("community"); - String casePlace = data.getStringExtra("pos"); - viewBinding.caseCommunityView.setText(community); - if (TextUtils.isEmpty(casePlace)) { - viewBinding.casePlaceView.setText(community); - } else { - viewBinding.casePlaceView.setText(casePlace); - } - break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java index 0f8cb1b..9a12899 100644 --- a/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ChangeShopInfoActivity.java @@ -1,11 +1,16 @@ package com.casic.dcms.ui; +import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.TextUtils; import android.view.View; +import androidx.activity.result.ActivityResult; +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.recyclerview.widget.GridLayoutManager; @@ -46,6 +51,25 @@ private NineGridImageAdapter imageAdapter; private QMUITipDialog submitDialog; + //新版onActivityResult + private final ActivityResultLauncher changeShopInfoLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + Intent data = result.getData(); + if (data == null) { + return; + } + String community = data.getStringExtra("community"); + merchantName = data.getStringExtra("shopName"); + merchantId = data.getStringExtra("shopID"); + viewBinding.communityNameView.setText(community); + viewBinding.shopView.setText(merchantName); + viewBinding.shopView.setTextColor(ContextCompat.getColor(context, R.color.textColor)); + } + } + }); + @Override protected void setupTopBarLayout() { viewBinding.titleBarLayout.titleView.setText("商铺变更"); @@ -73,7 +97,7 @@ public void onClick(View view) { Intent intent = new Intent(context, ArcGISMapActivity.class); intent.putExtra("type", "商铺变更"); - startActivityForResult(intent, Constant.REQUEST_MAP_CODE); + changeShopInfoLauncher.launch(intent); } }); @@ -146,17 +170,6 @@ super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { - case Constant.REQUEST_MAP_CODE: - if (data == null) { - return; - } - String community = data.getStringExtra("community"); - merchantName = data.getStringExtra("shopName"); - merchantId = data.getStringExtra("shopID"); - viewBinding.communityNameView.setText(community); - viewBinding.shopView.setText(merchantName); - viewBinding.shopView.setTextColor(ContextCompat.getColor(this, R.color.textColor)); - break; case PictureConfig.CHOOSE_REQUEST: List selectList = PictureSelector.obtainMultipleResult(data); for (LocalMedia media : selectList) { diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java index 251b601..32fc520 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/PhonePageFragment.java @@ -88,9 +88,9 @@ expandableAdapter.setData(deptList, deptAndPersons); viewBinding.deptTreeView.setAdapter(expandableAdapter); //默认展开数据 -// for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { -// viewBinding.deptTreeView.expandGroup(i); -// } + for (int i = 0; i < expandableAdapter.getGroupCount(); i++) { + viewBinding.deptTreeView.expandGroup(i); + } viewBinding.deptTreeView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView expandableListView, View view, int groupPosition, int childPosition, long l) { diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index df96c00..7184d28 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -135,8 +135,9 @@ Log.d(TAG, "媒体路径: " + mediaPath); return mediaPath; } else { - //TODO 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 /** + * 由于之前测试数据,服务器垃圾数据较多,需要根据不同情况拼接图片地址 + * * 正确返回值:2021-02\6a4a7784e9be40238f037a03c43a5d7a.jpg * * 情况一:["2021-04\\3c46b405c33b4100809b8c800fa914ca.jpeg" diff --git a/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java b/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java index 3078440..60ed5a7 100644 --- a/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java +++ b/app/src/main/java/com/casic/dcms/widgets/CancelAlarmDialog.java @@ -19,9 +19,9 @@ public class CancelAlarmDialog extends Dialog implements View.OnClickListener { private static final String TAG = "CancelAlarmDialog"; - private Context context; + private final Context context; + private final OnDialogButtonClickListener listener; private EditText cancelReasonView; - private OnDialogButtonClickListener listener; private String status; @Override @@ -30,7 +30,7 @@ setContentView(R.layout.dialog_cancel_alarm); Spinner reasonSpinner = findViewById(R.id.selectReasonView); - ArrayAdapter spinnerAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_item, Constant.SPINNER_ITEMS); + ArrayAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, Constant.SPINNER_ITEMS); spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); reasonSpinner.setAdapter(spinnerAdapter); diff --git a/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java b/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java index 2bc7fd4..5630ed9 100644 --- a/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java +++ b/app/src/main/java/com/casic/dcms/widgets/LightDetailDialog.java @@ -35,7 +35,7 @@ } } - private String lampId; + private final String lampId; private LightDetailPresenterImpl detailPresenter; private TextView lightStateView, lightAddressView, lightStreetView, lightElecView, lightVolView, lightTimeView; diff --git a/app/src/main/java/com/casic/dcms/widgets/SignInDialog.java b/app/src/main/java/com/casic/dcms/widgets/SignInDialog.java index b96ff2f..b4e5dcb 100644 --- a/app/src/main/java/com/casic/dcms/widgets/SignInDialog.java +++ b/app/src/main/java/com/casic/dcms/widgets/SignInDialog.java @@ -22,9 +22,10 @@ public class SignInDialog extends Dialog implements View.OnClickListener { private static final String TAG = "SignInDialog"; - private String title; - private String address; - private OnDialogClickListener listener; + private final String title; + private final String address; + private final OnDialogClickListener listener; + private Timer timer; private SignInDialog(Builder builder) { super(builder.mContext); @@ -47,12 +48,13 @@ window.setAttributes(params); setContentView(R.layout.dialog_sign_in); + timer = new Timer(); initView(); } private void initView() { TextView clockView = findViewById(R.id.clockView); - new Timer().schedule(new TimerTask() { + timer.schedule(new TimerTask() { @Override public void run() { String systemTime = TimeOrDateUtil.minuteToTime(System.currentTimeMillis()); @@ -72,6 +74,14 @@ } @Override + protected void onStop() { + super.onStop(); + if (timer != null) { + timer.cancel(); + } + } + + @Override public void onClick(View view) { int i = view.getId(); if (i == R.id.signInView) {