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