From 798128053bb17ed293aa8d5424db3b5ed007d375 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 23 十二月 2024 10:20:57 +0800
Subject: [PATCH] 1.优化订单列表框架,升级为viewPager2,提升性能。 2.添加收到新工单后的红点提醒。 3.修复查询数据为空时报错。 4.优化修改经纬度的流程。 5.修复mqtt的CLIENT_ID一致导致的连接错误。 6.修复收到新工单后点击消息通知栏跳转详情时不更新数据的bug。

---
 app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java |  108 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 60 insertions(+), 48 deletions(-)

diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
index 9fad7c6..091139a 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
@@ -1,5 +1,7 @@
 package com.dayu.pipirrapp.activity;
 
+import android.app.NotificationManager;
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -27,9 +29,11 @@
 import com.dayu.pipirrapp.net.Constants;
 import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
 import com.dayu.pipirrapp.tool.FullyGridLayoutManager;
+import com.dayu.pipirrapp.utils.CommonKeyName;
 import com.dayu.pipirrapp.utils.ToastUtil;
 import com.dayu.pipirrapp.view.ConfirmDialog;
 import com.dayu.pipirrapp.view.TitleBar;
+import com.jeremyliao.liveeventbus.LiveEventBus;
 import com.luck.picture.lib.decoration.GridSpacingItemDecoration;
 import com.luck.picture.lib.utils.DensityUtil;
 
@@ -72,13 +76,22 @@
         super.onCreate(savedInstanceState);
         binding = ActivityOrderDetailBinding.inflate(LayoutInflater.from(this));
         setContentView(binding.getRoot());
-
         new TitleBar(this).setTitleText("宸ュ崟璇︽儏").setLeftIco().setLeftIcoListening(v -> OrderDetailActivity.this.finish());
         initView();
+        getData(this.getIntent());
     }
 
-    void initView() {
-        workOrderId = this.getIntent().getStringExtra("workOrderId");
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        getData(intent);
+    }
+
+    private void getData(Intent intent) {
+
+        workOrderId = intent.getStringExtra("workOrderId");
+        NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
+        notificationManager.cancel(workOrderId.hashCode());
         if (this.getIntent().hasExtra("proResultId")) {
             binding.orderDealLL.setVisibility(View.VISIBLE);
             proResultId = this.getIntent().getStringExtra("proResultId");
@@ -92,10 +105,11 @@
             this.finish();
             ToastUtil.showToastLong(this, "褰撳墠workOrderId涓虹┖");
         }
+    }
 
 
+    void initView() {
         binding.setItemclidk(OrderDetailActivity.this);
-
         mRecyclerView = binding.recyclerView;
         FullyGridLayoutManager manager = new FullyGridLayoutManager(this, 4, GridLayoutManager.VERTICAL, false);
         mRecyclerView.setLayoutManager(manager);
@@ -122,58 +136,56 @@
             @Override
             public void onNext(BaseResponse<OrderDetailResult> t) {
                 if (t.isSuccess()) {
-                    if (t.isSuccess()) {
-                        if (t.getContent() != null) {
-                            OrderDetailResult orderDetailResult = t.getContent();
-                            binding.setData(orderDetailResult);
-                            if (!TextUtils.isEmpty(t.getContent().getProResultId()) && TextUtils.isEmpty(proResultId)) {
-                                getHandleData(orderDetailResult.getProResultId());
-                            }
-                            ProResultStateId = orderDetailResult.getProResultStateId();
-                            switch (ProResultStateId) {
-                                case 0://鏈笂鎶�
-                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.black, null));
-                                    binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_no_bg, null));
-                                    binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color, null));
-                                    binding.dealButton.setVisibility(View.VISIBLE);
-                                    break;
-                                case 1://宸蹭笂鎶�
-                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
-                                    binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_wait_bg, null));
-                                    binding.dealButton.setBackgroundColor(getResources().getColor(R.color.delete_color, null));
-                                    binding.dealButton.setVisibility(View.VISIBLE);
-                                    binding.dealButton.setText("鍒犻櫎澶勭悊缁撴灉");
-                                    break;
-                                case 2://宸插畬鎴�
-                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
-                                    binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_finish_bg, null));
-                                    binding.dealButton.setVisibility(View.GONE);
-                                    break;
-                                case 3://琚┏鍥�
-                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
-                                    binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_reject_bg, null));
-                                    binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color));
-                                    binding.dealButton.setVisibility(View.VISIBLE);
-                                    break;
-
-                            }
-                        } else {
-                            ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+                    LiveEventBus.get(CommonKeyName.RedLotRefresh).post(workOrderId);
+                    if (t.getContent() != null) {
+                        OrderDetailResult orderDetailResult = t.getContent();
+                        binding.setData(orderDetailResult);
+                        if (!TextUtils.isEmpty(t.getContent().getProResultId()) && TextUtils.isEmpty(proResultId)) {
+                            getHandleData(orderDetailResult.getProResultId());
                         }
-                    } else if (t.DATA_NULL.equals(t.getCode())) {
-                        //宸ュ崟宸茶鍒犻櫎
-                        ToastUtil.showToast(OrderDetailActivity.this, "璁㈠崟宸茶鍒犻櫎锛�");
-                        setResult(OrderFragment.RESULT_REFRESH);
-                        OrderDetailActivity.this.finish();
+                        ProResultStateId = orderDetailResult.getProResultStateId();
+                        switch (ProResultStateId) {
+                            case 0://鏈笂鎶�
+                                binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.black, null));
+                                binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_no_bg, null));
+                                binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color, null));
+                                binding.dealButton.setVisibility(View.VISIBLE);
+                                break;
+                            case 1://宸蹭笂鎶�
+                                binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+                                binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_wait_bg, null));
+                                binding.dealButton.setBackgroundColor(getResources().getColor(R.color.delete_color, null));
+                                binding.dealButton.setVisibility(View.VISIBLE);
+                                binding.dealButton.setText("鍒犻櫎澶勭悊缁撴灉");
+                                break;
+                            case 2://宸插畬鎴�
+                                binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+                                binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_finish_bg, null));
+                                binding.dealButton.setVisibility(View.GONE);
+                                break;
+                            case 3://琚┏鍥�
+                                binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white, null));
+                                binding.stateText.setBackground(ResourcesCompat.getDrawable(OrderDetailActivity.this.getResources(), R.drawable.order_state_reject_bg, null));
+                                binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color));
+                                binding.dealButton.setVisibility(View.VISIBLE);
+                                break;
 
+                        }
                     } else {
-
                         ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
-                        OrderDetailActivity.this.finish();
                     }
+                } else if (t.DATA_NULL.equals(t.getCode())) {
+                    //宸ュ崟宸茶鍒犻櫎
+                    ToastUtil.showToast(OrderDetailActivity.this, "璁㈠崟宸茶鍒犻櫎锛�");
+                    setResult(OrderFragment.RESULT_REFRESH);
+                    OrderDetailActivity.this.finish();
+
                 } else {
+
                     ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+                    OrderDetailActivity.this.finish();
                 }
+
             }
 
             @Override

--
Gitblit v1.8.0