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