From 33b0a2e31069086ef68993459502b020ebcd988c Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 12 十二月 2024 16:38:32 +0800
Subject: [PATCH] 1.修复当开启巡检以后在处理工单和上报问题时开启定位导致的自动关闭定位的bug 2.上报问题详情界面部分功能
---
app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java | 2
app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java | 21 +
app/src/main/res/layout/item_issue.xml | 281 +++++++++++++-----------------
app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java | 19 +
app/src/main/java/com/dayu/pipirrapp/utils/ServiceUtils.java | 31 +++
app/src/main/res/layout/activity_issue_detail.xml | 180 ++++++++++++++++++++
6 files changed, 357 insertions(+), 177 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
index ba78e09..bd4e99d 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java
@@ -36,6 +36,7 @@
import com.dayu.pipirrapp.tool.GlideEngine;
import com.dayu.pipirrapp.tool.ImageFileCompressEngine;
import com.dayu.pipirrapp.utils.CommonKeyName;
+import com.dayu.pipirrapp.utils.ServiceUtils;
import com.dayu.pipirrapp.utils.ToastUtil;
import com.dayu.pipirrapp.view.TitleBar;
import com.jeremyliao.liveeventbus.LiveEventBus;
@@ -84,7 +85,7 @@
/**
* 瀹氫綅鐩戝惉
*/
- private Observer<Object> locationObserver = new Observer<Object>() {
+ private final Observer<Object> locationObserver = new Observer<Object>() {
@Override
public void onChanged(Object o) {
latLonBean = (LatLonBean) o;
@@ -340,13 +341,15 @@
* 寮�濮嬪畾浣嶇浉鍏抽�昏緫
*/
private void startLocation() {
- Intent location = new Intent(this, MyLocationService.class);
- location.putExtra("isSingle", true);
- //寮�鍚畾浣�
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- startForegroundService(location);
- } else {
- startService(location);
+ if (!ServiceUtils.isServiceRunning(this, MyLocationService.class)) {
+ Intent location = new Intent(this, MyLocationService.class);
+ location.putExtra("isSingle", true);
+ //寮�鍚畾浣�
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ startForegroundService(location);
+ } else {
+ startService(location);
+ }
}
//鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐�
LiveEventBus.get(CommonKeyName.locationData).observeForever(locationObserver);
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
index a50d481..5b27f2b 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
@@ -35,6 +35,8 @@
import com.dayu.pipirrapp.tool.GlideEngine;
import com.dayu.pipirrapp.tool.ImageFileCompressEngine;
import com.dayu.pipirrapp.utils.CommonKeyName;
+import com.dayu.pipirrapp.utils.MyLog;
+import com.dayu.pipirrapp.utils.ServiceUtils;
import com.dayu.pipirrapp.utils.ToastUtil;
import com.dayu.pipirrapp.view.TitleBar;
import com.jeremyliao.liveeventbus.LiveEventBus;
@@ -68,7 +70,7 @@
* @since 2024-11-27
*/
public class OrderDealActivity extends BaseActivity {
- private String TAG = "OrderDealActivity";
+ private final String TAG = "OrderDealActivity";
ActivityOrderDealBinding binding;
RecyclerView mRecyclerView;
AddPictureAdapter mAdapter;
@@ -87,6 +89,7 @@
private Observer<Object> locationObserver = new Observer<Object>() {
@Override
public void onChanged(Object o) {
+ MyLog.d("OrderDealActivity>>>locationObserver>>");
latLonBean = (LatLonBean) o;
}
};
@@ -340,13 +343,15 @@
* 寮�濮嬪畾浣嶇浉鍏抽�昏緫
*/
private void startLocation() {
- Intent location = new Intent(this, MyLocationService.class);
- location.putExtra("isSingle", true);
- //寮�鍚畾浣�
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- startForegroundService(location);
- } else {
- startService(location);
+ if (!ServiceUtils.isServiceRunning(this, MyLocationService.class)) {
+ Intent location = new Intent(this, MyLocationService.class);
+ location.putExtra("isSingle", true);
+ //寮�鍚畾浣�
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ startForegroundService(location);
+ } else {
+ startService(location);
+ }
}
//鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐�
LiveEventBus.get(CommonKeyName.locationData).observeForever(locationObserver);
diff --git a/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java b/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java
index fe11917..7e8a6bd 100644
--- a/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java
+++ b/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java
@@ -43,6 +43,7 @@
*/
public class MyLocationService extends Service {
+
private LocationManager locationManager;
private MyLocationListener listener;
@@ -296,6 +297,7 @@
@Override
public void onDestroy() {
MyLog.i("MyLocationService--onDestroy");
+
// 鍋滄鍓嶅彴鏈嶅姟--鍙傛暟锛氳〃绀烘槸鍚︾Щ闄や箣鍓嶇殑閫氱煡
stopForeground(true);
// 鑾峰彇NotificationManager骞跺彇娑堥�氱煡锛岀‘淇濋�氱煡琚Щ闄�
diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/ServiceUtils.java b/app/src/main/java/com/dayu/pipirrapp/utils/ServiceUtils.java
new file mode 100644
index 0000000..8bd80d5
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/utils/ServiceUtils.java
@@ -0,0 +1,31 @@
+package com.dayu.pipirrapp.utils;
+
+import android.app.ActivityManager;
+import android.content.Context;
+
+/**
+ * ServiceUtils - 鏈嶅姟鐩稿叧鐨勫叕鍏辨柟娉�
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-12-12
+ */
+public class ServiceUtils {
+
+ /**
+ * 鍒ゆ柇褰撳墠鏈嶅姟鏄惁宸茬粡鍚姩
+ *
+ * @param context
+ * @param serviceClass
+ * @return
+ */
+ public static boolean isServiceRunning(Context context, Class<?> serviceClass) {
+ ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+ for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
+ if (serviceClass.getName().equals(service.service.getClassName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/app/src/main/res/layout/activity_issue_detail.xml b/app/src/main/res/layout/activity_issue_detail.xml
new file mode 100644
index 0000000..03f2b32
--- /dev/null
+++ b/app/src/main/res/layout/activity_issue_detail.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <data>
+
+ <variable
+ name="itemclidk"
+ type="com.dayu.pipirrapp.activity.OrderDetailActivity" />
+
+ <variable
+ name="data"
+ type="com.dayu.pipirrapp.bean.net.IssueResult" />
+
+ <variable
+ name="dealData"
+ type="com.dayu.pipirrapp.bean.net.DealDetailResult" />
+ </data>
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <include
+ android:id="@+id/title"
+ layout="@layout/top_title" />
+
+
+ <ScrollView
+ android:id="@+id/ScrollView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_above="@+id/deal_button"
+ android:layout_below="@+id/title"
+ android:layout_marginTop="5dp"
+ android:layout_marginBottom="5dp">
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="20dp">
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="30dp"
+ android:orientation="horizontal">
+
+ <ImageView
+ android:id="@+id/ic_project"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:layout_centerVertical="true"
+ android:layout_marginRight="10dp"
+ android:src="@drawable/ic_issue" />
+
+ <TextView
+ android:id="@+id/projectName"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+
+ android:layout_marginEnd="15dp"
+ android:layout_toStartOf="@+id/stateText"
+ android:layout_toEndOf="@+id/ic_project"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{data.issueReportId}"
+ android:textColor="@color/title_color"
+ android:textSize="@dimen/manage_item_text_size" />
+
+
+ <TextView
+ android:id="@+id/stateText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:background="@drawable/ic_edt_gray_bg"
+ android:gravity="center"
+ android:paddingLeft="10dp"
+ android:paddingTop="5dp"
+ android:paddingRight="10dp"
+ android:paddingBottom="5dp"
+ android:text="@{data.state}"
+ android:textColor="@color/black"
+ android:textSize="@dimen/manage_item_text_state_size" />
+
+
+ </RelativeLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingRight="5dp">
+
+ <TextView
+
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="涓婃姤鏃堕棿锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
+
+ <TextView
+ android:id="@+id/xiangMuJianCheng"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{data.reportTime}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
+ </LinearLayout>
+
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+
+ android:orientation="horizontal">
+
+
+ <TextView
+ android:id="@+id/daiShenPiTag"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="涓婃姤鍐呭锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
+
+ <TextView
+ android:id="@+id/daiShenPi"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{data.content}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
+ </LinearLayout>
+
+
+
+ </LinearLayout>
+ </ScrollView>
+
+
+ <TextView
+ android:id="@+id/deal_button"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/order_detail_button_height"
+ android:layout_alignParentBottom="true"
+ android:background="@color/title_color"
+ android:gravity="center"
+ android:onClick="@{()->itemclidk.startDealActivity()}"
+ android:text="澶勭悊宸ュ崟"
+ android:textColor="@color/white"
+ android:textSize="@dimen/order_detail_button_size"
+ android:visibility="gone" />
+
+
+ </RelativeLayout>
+
+</layout>
diff --git a/app/src/main/res/layout/item_issue.xml b/app/src/main/res/layout/item_issue.xml
index b76fccc..3a40ef4 100644
--- a/app/src/main/res/layout/item_issue.xml
+++ b/app/src/main/res/layout/item_issue.xml
@@ -72,80 +72,25 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="5dp"
- android:orientation="horizontal">
+ android:layout_weight="1">
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
-
- android:orientation="horizontal">
-
- <LinearLayout
- android:layout_width="0dp"
+ <TextView
+ android:id="@+id/daiShenPiTag"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1">
+ android:text="涓婃姤鍐呭锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
- <TextView
- android:id="@+id/daiShenPiTag"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="涓婃姤鍐呭锛�"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
-
- <TextView
- android:id="@+id/daiShenPi"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ellipsize="end"
- android:maxLines="1"
- android:text="@{data.content}"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
- </LinearLayout>
-
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="5dp"
- android:gravity="center_vertical"
- android:orientation="horizontal">
-
- <LinearLayout
- android:layout_width="0dp"
+ <TextView
+ android:id="@+id/daiShenPi"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingRight="5dp">
-
- <TextView
-
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="涓婃姤鏃堕棿锛�"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
-
- <TextView
- android:id="@+id/xiangMuJianCheng"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:ellipsize="end"
- android:maxLines="1"
- android:text="@{data.reportTime}"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
- </LinearLayout>
-
-
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{data.content}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
</LinearLayout>
@@ -154,113 +99,127 @@
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_vertical"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:paddingRight="5dp">
- <LinearLayout
- android:id="@+id/replyContentLL"
- android:layout_width="0dp"
+ <TextView
+
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingRight="5dp">
+ android:text="涓婃姤鏃堕棿锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:text="鍥炲鍐呭锛�"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
-
- <TextView
- android:id="@+id/replyContent"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:ellipsize="end"
- android:maxLines="1"
-
- android:text="@{data.replyContent}"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
- </LinearLayout>
-
-
+ <TextView
+ android:id="@+id/xiangMuJianCheng"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{data.reportTime}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
</LinearLayout>
+
<LinearLayout
+ android:id="@+id/replyContentLL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:gravity="center_horizontal"
+ android:layout_marginTop="5dp"
+ android:layout_weight="1"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingRight="5dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:text="鍥炲鍐呭锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
+
+ <TextView
+ android:id="@+id/replyContent"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="end"
+ android:maxLines="1"
+
+ android:text="@{data.replyContent}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:id="@+id/replyTimeLL"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dp"
+ android:layout_weight="2"
+ android:gravity="center_vertical"
android:orientation="horizontal">
- <LinearLayout
- android:id="@+id/replyTimeLL"
- android:layout_width="0dp"
+ <TextView
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="5dp"
- android:layout_weight="2"
android:gravity="center_vertical"
- android:orientation="horizontal">
+ android:text="鍥炲鏃堕棿锛�"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:text="鍥炲鏃堕棿锛�"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
-
- <TextView
- android:id="@+id/replyTime"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@{data.replyTime}"
- android:textColor="@color/manage_item_text"
- android:textSize="@dimen/manage_item_text_size" />
-
- </LinearLayout>
-
-
- <LinearLayout
- android:layout_width="0dp"
+ <TextView
+ android:id="@+id/replyTime"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginLeft="10dp"
- android:layout_marginTop="5dp"
- android:layout_marginRight="10dp"
- android:layout_weight="1"
- android:orientation="horizontal"
- android:visibility="gone">
+ android:text="@{data.replyTime}"
+ android:textColor="@color/manage_item_text"
+ android:textSize="@dimen/manage_item_text_size" />
-
- <TextView
- android:id="@+id/lookDetail"
- android:layout_width="0dp"
- android:layout_height="@dimen/manage_item_btn_height"
- android:layout_weight="1"
- android:background="@drawable/ic_blue_background"
- android:gravity="center"
-
- android:text="鏌ョ湅"
- android:textColor="@color/white"
- android:textSize="@dimen/manage_item_btn_text_size" />
-
-
- <TextView
- android:id="@+id/examineBtn"
- android:layout_width="0dp"
- android:layout_height="@dimen/manage_item_btn_height"
- android:layout_marginLeft="15dp"
- android:layout_weight="1"
- android:background="@drawable/ic_blue_background"
- android:gravity="center"
-
- android:text="瀹℃壒"
- android:textColor="@color/white"
- android:textSize="@dimen/manage_item_btn_text_size" />
-
-
- </LinearLayout>
</LinearLayout>
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:layout_marginTop="5dp"
+ android:layout_marginRight="10dp"
+ android:layout_weight="1"
+ android:orientation="horizontal"
+ android:visibility="gone">
+
+
+ <TextView
+ android:id="@+id/lookDetail"
+ android:layout_width="0dp"
+ android:layout_height="@dimen/manage_item_btn_height"
+ android:layout_weight="1"
+ android:background="@drawable/ic_blue_background"
+ android:gravity="center"
+
+ android:text="鏌ョ湅"
+ android:textColor="@color/white"
+ android:textSize="@dimen/manage_item_btn_text_size" />
+
+
+ <TextView
+ android:id="@+id/examineBtn"
+ android:layout_width="0dp"
+ android:layout_height="@dimen/manage_item_btn_height"
+ android:layout_marginLeft="15dp"
+ android:layout_weight="1"
+ android:background="@drawable/ic_blue_background"
+ android:gravity="center"
+
+ android:text="瀹℃壒"
+ android:textColor="@color/white"
+ android:textSize="@dimen/manage_item_btn_text_size" />
+
+
+ </LinearLayout>
+
+
</LinearLayout>
</layout>
\ No newline at end of file
--
Gitblit v1.8.0